다차원 배열은 2차원 이상의 배열을 말하며 2차원 배열은 행과 열로 구성되어 있고
3차원 배열은 행, 열, 면으로 구성되어 있으나 메모리를 확인하면 연속적으로 이어져있다.
2차원 배열
// 선언
int matrix[3][4];
// 선언 및 초기화
int matrix[3][4] = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};
[3][4] = > 3 X 4 행렬
1 ~ 4 열
1행 1 2 3 4
2행 5 6 7 8
3행 9 10 11 12
아래와 같이 인덱스로 접근이 가능하다.
matrix[0][0] = 1;
matrix[0][1] = 2;
matrix[0][2] = 3;
matrix[0][3] = 4;
matrix[1][0] = 5;
matrix[1][1] = 6;
matrix[1][2] = 7;
matrix[1][3] = 8;
matrix[2][0] = 9;
matrix[2][1] = 10;
matrix[2][2] = 11;
matrix[2][3] = 12;

3차원 배열
// 선언
int cube[3][4][5];
// 선언 및 초기화
int cube[3][4][5] = {
{
{1, 2, 3, 4, 5},
{6, 7, 8, 9, 10},
{11, 12, 13, 14, 15},
{16, 17, 18, 19, 20}
},
{
{21, 22, 23, 24, 25},
{26, 27, 28, 29, 30},
{31, 32, 33, 34, 35},
{36, 37, 38, 39, 40}
},
{
{41, 42, 43, 44, 45},
{46, 47, 48, 49, 50},
{51, 52, 53, 54, 55},
{56, 57, 58, 59, 60}
}
};
가로 5 세로 4 높이 3 인 사각형 모양의 데이터 저장 공간
Layer 1:
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
Layer 2:
21 22 23 24 25
26 27 28 29 30
31 32 33 34 35
36 37 38 39 40
Layer 3:
41 42 43 44 45
46 47 48 49 50
51 52 53 54 55
56 57 58 59 60

'C, C++' 카테고리의 다른 글
| 14. 구조체 (0) | 2023.06.04 |
|---|---|
| 13. 배열 포인터 (0) | 2023.06.03 |
| 11. C언어 메모리 동적 할당 (0) | 2023.06.01 |
| 10. void 포인터 (0) | 2023.05.31 |
| 09. const 포인터 (0) | 2023.05.31 |