더북(TheBook)

이처럼 배열을 두 개 선언하여 저장하면 우리 반 학생들의 학번과 키를 저장할 수 있을 것입니다. 다음과 같이 더 확장하여, 학생의 키 정보 외에 추가로 이름도 저장하고 몸무게도 저장할 수도 있습니다.

int class_number[30];    // 학번 배열
double class_height[30]; // 키 배열
double class_weight[30]; // 몸무게 배열
char class_name[30];     // 이름 배열

이렇게 4개의 배열을 사용하면 될까요? 물론 4개의 배열을 사용해서 학생의 학번, 키, 몸무게, 이름 정보를 저장할 수 있지만, 우리는 배열이 등장한 이유와 원인을 다시 한번 생각해 봐야 합니다.

배열은 서로 연관이 있는 정보가 흩어지지 않게 묶어 둔다는 장점이 있습니다. 그러나 이렇게 같은 반 학생들의 정보를 4개의 배열을 사용해서 저장한다면, 정보가 배열마다 흩어진 채 저장됩니다. 즉, 그림 11-1과 같이 정보가 흩어져서 저장된다는 문제가 발생합니다.

그림 11-1 | 각각의 배열들은 메모리에 모두 흩어져서 저장

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