더북(TheBook)

다시 말해 첫 번째 줄부터 여섯 번째 줄까지 struct birdStruct라는 구문으로 완전히 새로운 타입을 선언한다. 이 구조체는 멤버(member)C가 네 개며, 각각의 선언문은 기존 변수 선언과 동일하다. 그래서 네 원소를 배열 하나에 묶어서 선언하기보다는 멤버마다 이름을 따로 정하고 타입도 별도로 선언했다. 이렇게 구조체로 선언한 문장은 오로지 타입만 표현한다. 아직 이 타입의 오브젝트를 선언한 것이 아니고, 그런 오브젝트를 정의한 것은 더더욱 아니다.

이후 일곱 번째 줄부터 변수(aName) 하나를 선언해서 새로운 타입을 정의한다. 초기자와 그 뒤에 나온 용례를 보면 개별 멤버는 닷(dot) 기호(.)로 표기했다. 5.6.1절에서 본 bird[raven]과 같은 표기법 대신 구조체에서는 aName.raven과 같이 표현한다.

▲ 그림 6-10 birdstruct의 구조

이 예에서 주목할 점은 배열처럼 개별 멤버가 스트링을 가리키기만 한다는 것이다. 예를 들어 aName.magpie란 멤버는 박스 밖에 있는 "Frau"란 개체를 가리키는데, 이 개체는 struct와는 별개인 대상이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.