6.3 구조체
지금까지 본 것처럼 배열은 기본 타입으로 된 오브젝트 여러 개를 거대한 오브젝트 하나로 묶는 것이다. 첫 번째부터 마지막까지 순서를 정할 필요가 있다면 배열로 묶는 것이 좋다. 하지만 순서가 중요하지 않거나 원소의 타입이 서로 다르다면 구조체(structure)를 사용한다. 구조체는 struct란 키워드로 정의한다.
첫 번째 예로 5.6.2절에서 본 까마귀 예를 다시 살펴보자. 이 예에서는 열거 타입(enumeration type)을 이용하여 배열의 각 원소를 이름으로 접근했다. C 언어의 구조체는 각 원소(멤버(member) 또는 필드(field))를 보다 체계적으로 묶는 기능을 제공한다.
struct birdStruct { char const* jay; char const* magpie; char const* raven; char const* chough; }; struct birdStruct const aName = { .chough = "Henry", .raven = "Lissy", .magpie = "Frau", .jay = "Joe", };