구조체란?
-사용자 정의 자료형 User-difinded data types
기본 자료형: 프로그래밍 언어에서 기본적으로 제공하는 자료형. (int float, double, char 등)
사용자 정의 자료형: 일상생활에 다양한 형태의 문제를 해결하기 위해서는 기본 자료형만으로는 자료의 선언과 저장에 한계가 있으므로, 해결하려는 문제와 가장 가까운 자료구조를 사용자(프로그래머)가 직접 자료형으로 만들어서 문제를 해결할 수 있는 자료형. (구조체 struct 등)
-구조체 정의
구조체의 필요성:
동일한 자료형의 데이터가 여러 개 필요한 경우에 배열을 사용하여 처리할 수 있지만, 성적처리와 같이 학번, 점수, 학점 등 서로 다른 자료형을 가진 데이터를 함께 저장하고 처리하기 위해서는 새로운 자료형이 필요하다!
연관된 데이터를 묶어서 자료형을 만들고 그 자료형을 사용하여 변수를 선언하여 데이터를 관리하는 것이 필요함.
구조체 정의: 다양한 자료형의 연관된 데이터를 묶어서 선언할 수 있도록 사용자 정의 자료형을 만드는 것.
*구조체 정의는 메모리에 변수를 생성하지 않음.
키워드 struct 구조체 자료형 이름
{멤버 이름 나열!}; //구조를 만드는 역할을 한다!
-구조체 변수 선언
구조체 정의 후, 구조체 자료형을 사용하여 변수를 선언한다. 구조체 변수를 선언하면 구조체 멤버의 크기만큼 메모리에 할당.
변수 선언)
struct stu 라는 자료형이 생긴것임! (int 처럼)
struct stu 변수 이름
typedef 기존의 타입 변경할 이름
-멤버 참조 연산자
ID, kor, eng, math 가 멤버임
구조체 변수. 멤버 = 변수
구조체를 활용하여 객체지향에서 class 라는 것까지 만들었음!
-구조체 배열 선언
struct stu s[3]; //s[0], s[1], s[2] 까지 생성됨
구조체 배열 출력
define MAX : 사용자로부터 값을 입력받을 때, 맥스를 적어두면 여기서만 값을 바꿔도 소스코드에서 max라고 적힌 곳의 상수를 다 바꿀 수 있다!
scanf 에서는 &를 붙여야 주소값을 변경할 수 있다!
\t : 탭 띄기
! 파일 형태로 입력받아서 파일 형태로 출력하는 형태로 코딩해보기
'오늘의 코딩 > C언어' 카테고리의 다른 글
배열과 함수 (0) | 2019.08.25 |
---|---|
파일 입출력과 함수 (0) | 2019.08.22 |