더북(TheBook)

9.5 2차원 배열을 이용하는 방법

9.2절에서 얘기한, 우리 반 학생들의 이름을 저장하는 두 가지 방법, 2차원 배열을 이용하는 방법과 포인터 배열을 이용하는 방법에 대해 좀 더 자세히 알아봅시다.

우리 반 학생들의 이름을 각각 출력하려면 어떻게 해야 할까요? 2차원 배열과 주소의 관계를 파악하면 쉽게 이해할 수 있습니다.

예시로 다음 코드를 볼까요?

char makit1[6][9] = { "Hyungwoo", "Yoonjin", "Sieun", "Woojin", "Jiyeon", "Jihoon" };

이 코드에서 makit1[0]은 첫 번째 학생의 이름 중 첫 글자인 H의 주소를 의미합니다. 그리고 makit1[1]은 두 번째 학생의 이름 중 첫 글자인 Y의 주소를 의미합니다

그림 9-12 | 2차원 배열 makit1의 주소 관계

 

문자열 출력을 위한 %s 구문은 주소를 입력으로 받는다고 하였습니다. 따라서 다음과 같이 makit1[index]를 통해 학생들의 이름을 출력할 수 있습니다.

printf("%s\n", makit1[i]);
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.