더북(TheBook)

이제 이 코드의 문제가 무엇인지 쉽게 파악할 수 있을 것입니다. 바로 학생들의 정보가 서로 모여 있지 않고 흩어져 있다는 것이지요.

그림 12-1 | 구조체 변수를 하나씩 생성하면 학생들의 정보가 흩어져서 저장됨

 

이 문제를 해결하려면 역시 구조체에도 배열을 사용하면 됩니다. 구조체 배열을 선언하는 방법은 일반 자료형 배열을 선언하는 것과 같습니다.

int a[10];
 
struct myclass a[10]; // 구조체 배열 선언
 
a[0].number = 23;     // 구조체 배열 첫 번째 요소의 멤버 변수 number 초기화
a[0].weight = 75.2;   // 구조체 배열 첫 번째 요소의 멤버 변수 weight 초기화
a[0].height = 180.3;  // 구조체 배열 첫 번째 요소의 멤버 변수 height 초기화
a[1].number = 27;     // 구조체 배열 첫 번째 요소의 멤버 변수 number 초기화
…
a[9].number = 75;
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.