다차원 배열(multidimensional array)이란 차원이 1보다 큰 배열을 의미합니다. 즉, 2차원 이상의 배열로, 행렬이나 입체적인 데이터 구조를 표현할 때 유용하게 사용됩니다.
다음 그림은 3 x 3 x 3 크기의 3차원 배열에 대한 메모리 할당 전략을 보여줍니다.

아래는 C++로 다차원 배열을 초기화하고 활용하는 프로그램 예제입니다.
알고리즘
시작
다차원 배열의 요소를 초기화한다.
배열의 크기를 출력한다.
배열의 내용을 화면에 표시한다.
종료예제 코드
#include<iostream>
using namespace std;
int main()
{
int r, c;
int a[][2] = {{3,1},{7,6}};
cout<< "Size of the Array:"<<sizeof(a)<<"\n";
cout<< "Content of the Array:"<<sizeof(a)<<"\n";
for(r=0; r<2; r++) {
for(c=0; c<2; c++) {
cout << " " << a[r][c];
}
cout << "\n";
}
return 0;
}코드 설명
위 코드에서 int a[][2] = {{3,1},{7,6}};는 2행 2열짜리 2차원 배열을 선언하면서 동시에 중괄호를 이용해 초기화하는 방식입니다. 첫 번째 차원(행의 개수)은 생략할 수 있으며, 컴파일러가 초기화 값의 개수를 바탕으로 자동으로 계산합니다.
sizeof(a) 연산자는 배열 전체가 차지하는 메모리 크기를 바이트 단위로 반환합니다. int형이 4바이트이므로 2 x 2 = 4개의 요소를 가진 배열의 총 크기는 16바이트가 됩니다.
실행 결과
Size of the Array:16 Content of the Array:16 3 1 7 6
정리
C/C++에서 다차원 배열은 선언과 동시에 중괄호 {}를 사용하여 초기화할 수 있습니다. 이때 가장 앞쪽 차원의 크기는 생략 가능하지만, 나머지 차원의 크기는 반드시 명시해야 합니다. sizeof 연산자와 중첩 반복문을 활용하면 배열의 크기와 저장된 값을 손쉽게 확인할 수 있습니다.