출력해 보면 arr3[3] [0] 요소의 값이 7에서 9로, arr3[3][1] 요소의 값이 8에서 10으로 바뀌었습니다. 이처럼 2차원 배열에 인덱스로 접근해 값을 바꿀 수 있습니다.
3차원 배열에도 접근해 보겠습니다. arr4[3][3][3] 배열을 선언하고 초기화합니다. 3차원 배열에 접근할 때는 for 문이 3개 필요합니다. 배열의 차원 수에 맞춰 for 문의 개수가 늘어나기 때문입니다. for 문에 사용할 변수는 i, j 다음에 k를 사용합니다. 3차원 배열의 크기는 3 × 3 × 3이므로 바깥쪽 for 문은 0부터 3까지 1씩 증가합니다. 그리고 중간 for 문과 안쪽 for 문도 0부터 3까지 1씩 증가합니다. 그리고 안쪽 for 문에서 printf()문으로 3차원 배열의 인덱스와 해당 인덱스에 저장된 값을 arr4[i][j][k]로 접근해 출력합니다. 마지막으로 for 문을 빠져나올 때마다 알아보기 쉽게 줄바꿈을 출력합니다.
8.3.3 다차원배열사용하기.c
int main(void) {
int arr4[3][3][3] = {
{
{ 1, 2, 3 },
{ 4, 5, 6 },
{ 7, 8, 9 }
},
{
{ 11, 12, 13 },
{ 14, 15, 16 },
{ 17, 18, 19 }
},
{
{ 21, 22, 23 },
{ 24, 25, 26 },
{ 27, 28, 29 }
}
};
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 3; j++) {
for (int k = 0; k < 3; k++) {
printf("3차원 배열 [%d][%d][%d]의 값 : %d\n", i, j, k, arr4[i][j][k]);
}
printf("\n");
}
printf("\n");
}
return 0;
}