3차원 배열은 2차원 배열에서 높이의 개념이 추가된 배열이다. 3차원 배열은 다음과 같이 높이. 세로, 가로의 길이를 순서대로 선언한다.
int arr[2][3][4]; // 높이2, 세로3, 가로4
sizeof 연산을 이용하여 3차원 배열의 크기를 확인해보면 int 자료형의 크기 x 높이 x 세로 x 가로로 직육면체 형태의 배열임을 알 수 있다.
#include <stdio.h>
int main(void)
{
int arr[2][3][4];
printf("3차원 배열의 크기 : %d\n", sizeof(arr));
return 0;
}
// output : 3차원 배열의 크기 : 96
3차원 배열은 다음과 같이 선언하고 접근한다.
#include <stdio.h>
int main(void)
{
int sum = 0;
int arr[3][3][2] = {
{
{1,2},
{3,4},
{5,6}
},
{
{7,8},
{9,10},
{11,12}
},
{
{13,14},
{15,16},
{17,18}
}
};
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 2; j++)
{
sum += arr[0][i][j];
}
}
printf("첫번째 면 모든 값의 합 : %d\n",sum);
sum = 0;
for(int i = 0; i < 3; i++)
{
for(int j = 0; j < 2; j++)
{
sum += arr[2][i][j];
}
}
printf("세번째 면 모든 값의 합 : %d\n",sum);
return 0;
}
// output :
// 첫번째 면 모든 값의 합 : 21
// 세번째 면 모든 값의 합 : 93
3차원 배열은 2차원 배열의 형태를 갖는 여러개의 면이 겹쳐져 있는 형태이다.
'Language > C, C++' 카테고리의 다른 글
[C] 삼중 포인터 (0) | 2020.12.28 |
---|---|
[C] 더블 포인터 (0) | 2020.12.28 |
[C] 2차원 배열 (0) | 2020.12.24 |
[C] 포인터에서 const 사용 (0) | 2020.12.20 |
[C] Call - by - value, Call - by - reference (0) | 2020.12.20 |