61 – 중첩 구조체

구조체를 정의할 때 다른 구조체의 맴버로 사용할 수 있는데, 이를 중첩 구조체라고 한다. 앞에서 봤던 자동차의 예제에서 문의 크기를 추가하고자 한다.

struct car
{
char name[10];    //차량 이름
int year;                // 연식
double fuel;         // 연료량
int left_door;       // 왼쪽 문 크기
int right_door;    //오른쪽 문 크기
int back_door;    //뒷문 크기
};

이런 식으로 구성할 때, door에 대한 맴버가 3개이기 때문에 이 맴버를 묶어서 다시 하나의 구조체로 만들고, 이 구조체를 하나의 맴버로 이용할 수 있다. 즉, 문에 대한 맴버 3을 가지고 먼저 구조체를 만든 후, 해당 구조체를 맴버로 만들면 된다.

struct size_of_door {
int left_door;
int right_door;
int back_door
};
struct car {
char name[10];
int year;
double fuel;
struct size_of_door size;
};

이 때, 주의해야 할 것이 있는데, 중첩 구조체는 그 구조체 자신을 맴버로 할 수는 없다

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.