강좌 & 팁
글 수 2,412
2012.10.06 18:57:48 (*.52.177.29)
44827
형식인수로 다차원 배열이 사용되는 경우
다차원 배열이 형식인수로 사용되는 경우에는 첫 번째 색인을 생략할 수 있다. 그러나 두 번째 색인부터는 모두 명시해 주어야 한다. 이것은 배열크기를 컴파일러에게 알려 주어야 하기 때문이다. 3*3 행렬을 2차원 배열로 구성햇을 때 대각선의 합 (1,1)+(2,2)+(3,3)을 구하는 프로그램의 경우를 살펴보자.
행렬의 대각선의 합을 구하는 프로그램
#include <stdio.h>
int sum_matrix (int m[][3]);
int main ()
{
int sum;
int mat[3][3] = {{ 13,23,15},{11,8,25},{17,14,21}};;
sum = sum_matrix(mat);
printf("Answer : %d\n", sum);
return 0;
}
int sum_matrix (int m[][3])
{
int i;
i = mat [0][0] + mat[1][1] + mat[2][2];
return i;
}
설명
형식 인수 int mat[][3]에서와 같이 첫 번째 색인은 생략되지만, 두 번재 색인부터는 명시한다. 3차원 배열에서 형식인수 표기의 예는 다음과 같다.
int sum (int m[][7][4])