-
C언어 다차원 배열Programming/C 2016. 5. 2. 20:47
다차원 배열
2차원 배열
int arr1[3][4]; // 세로가 3, 가로가 4인 int형 2차원 배열 int arr2[2][6]; // 세로가 2, 가로가 6인 int형 2차원 배열
TYPE arr[세로길이][가로길이];
2차원 배열의 메모리상 할당의 형태
2차원 배열도 메모리상에는 1차원의 형태로 존재한다.
3차원 배열
int arr1[2][3][4]; // 높이 2, 세로3, 가로4인 int형 3차원 배열 double arr2[5][5][5]; // 높이, 세로, 가로가 모두 5인 double형 3차원 배열
3차원 배열의 선언과 접근
#include <stdio.h> int main(void) { int mean = 0, i, j; int record[3][3][2] = { { {70, 80}, // A학급 학생 1의 성적 {94, 90}, // A학급 학생 2의 성적 {79, 85} // A학급 학생 3의 성적 }, { {83, 90}, // B학급 학생 1의 성적 {95, 60}, // B학급 학생 2의 성적 {90, 82} // B학급 학생 3의 성적 }, { {98, 89}, // C학급 학생 1의 성적 {99, 94}, // C학급 학생 2의 성적 {91, 87} // C학급 학생 3의 성적 } }; for(i=0; i<3; i++) for(j=0; j<2; j++) mean += record[0][i][j]; printf("A학급 전체 평균: %g \n", (double)mean/6); mean = 0; for(i=0; i<3; i++) for(j=0; j<2; j++) mean += record[1][i][j]; printf("B학급 전체 평균: %g \n", (double)mean/6); mean = 0; for(i=0; i<3; i++) for(j=0; j<2; j++) mean += record[2][i][j]; printf("C학급 전체 평균: %g \n", (double)mean/6); return 0; }
3차원 배열은 여러 개의 2차원 배열이 모여있는 형태로 이해하는 것이 더 합리적이다.
'Programming > C' 카테고리의 다른 글
C언어 다차원 배열과 포인터의 관계 (0) 2016.05.02 C언어 포인터의 포인터 (0) 2016.05.02 C언어 포인터 대상의 const 선언 (0) 2016.05.02 C언어 Call-by-value vs. Call-by-reference (0) 2016.05.02 C언어 포인터 배열 (0) 2016.05.02