•
개념
사용자가 정의하는 데이터 형식
쉽게 생각하면 우리가 성인이 되면 받는 주민등록증 처럼 주민등록번호, 이름, 주소, 발급일자 등을 입력 저장하는 역할을 한다고 생각하면 된다.
•
구성
필드 또는 멤버인 변수로 구성
단, void 형은 사용할 수 없다.
•
구조체 형식
struct 태그{
멤버;
};
C
복사
▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽▽
struct POINT{
int x;
int y;
};
C
복사
◦
태그 tag : 구조체 식별자, 구조체 형식 이름 대문자 사용(관례)
•
구조체 라는 것은 우리가 정의하는 데이터 형이라고 생각하면 된다.
데이터 형을 사용하기 위해서는 구조체 변수를 선언을 해야한다.
•
구조체 선언1
◦
일반 변수 선언과 동일
struct POINT{
int x;
int y;
};
C
복사
struct POINT point;
struct POINT point[3], *ppoint;
데이터형
•
구조체 선언2
◦
구조체 정의와 변수 선언을 동시에 하는경우
struct POINT{
int x;
int y;
} point, *ppoint, PointArray[3];
point.x = 10;
point.y = 20; // 등...
C
복사
•
멤버 접근 연산자 : . , ->
◦
변수 선언인 경우 (' . ' dot 사용)
struct POINT point;
point.x = 20;
point.y = 10;
C
복사
◦
포인터 선언인 경우(' -> ' 사용)
struct POINT *ppoint, point;
ppoint - &point;
ppoint->x = 10;
ppoint->y = 20;
C
복사
•
다양한 구조체 변수 선언
struct POINT point;
struct POINT *ppoint;
struct POINT pointXY[3];
pintXY[0].x = 10;
pintXY[0].x = 20;
pintXY[1].x = 30; // 등
// 일반 변수와 동일하게 사용 및 선언
C
복사