더북(TheBook)

3차원 배열 arr4[3][3][3]도 방식은 같습니다. 이 배열은 3개의 메모리 공간을 가진 1차원 배열이 3개 있고, 이렇게 만든 2차원 배열이 다시 3개 있다는 뜻입니다. 먼저 1차원 배열 3개를 중괄호로 묶고 쉼표로 구분하면 { {}, {}, {} } 같은 모양의 2차원 배열이 됩니다. 그런 다음 2차원 배열 3개를 다시 중괄호로 묶어 쉼표로 구분하면 { { {}, {}, {} }, { {}, {}, {} }, { {}, {}, {} } } 같은 모양이 만들어집니다. 마지막으로 각 중괄호 안에 값을 넣으면 끝입니다.

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 } } };

그런데 이렇게 값을 나열해 초기화하면 배열이 매우 복잡해 보입니다. 1차원 배열은 값을 나열해도 바로 이해할 수 있지만, 2차원 배열은 복잡하고 3차원 배열로 가면 헷갈리기까지 합니다. 그래서 2차원 이상의 다차원 배열을 선언할 때는 다음과 같이 중괄호 하나가 끝나는 지점마다 줄바꿈해서 코드를 읽기 좋게 만듭니다.

int arr2[2][5] = {
    { 1, 2, 3, 4, 5 },
    { 5, 6, 7, 8, 9 }
};
int arr3[4][2] = {
    { 1, 2 },
    { 3, 4 },
    { 5, 6 },
    { 7, 8 }
};
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.