可以很容易地将2D数组作为参数传递给C中的函数。当两个数组的尺寸都被全局指定时,演示此操作的程序如下所示。
#include <stdio.h> const int R = 4; const int C = 3; void func(int a[R][C]) { int i, j; for (i = 0; i < R; i++) for (j = 0; j < C; j++) a[i][j] += 5; ; } int main() { int a[R][C]; int i, j; for (i = 0; i < R; i++) for (j = 0; j < C; j++) a[i][j] = i+j; printf("Initial 2-D array is:\n"); for (i = 0; i < R; i++) { for (j = 0; j < C; j++) { printf("%d ", a[i][j]); } printf("\n"); } func(a); printf("Modified 2-D array is:\n"); for (i = 0; i < R; i++) { for (j = 0; j < C; j++) { printf("%d ", a[i][j]); } printf("\n"); } return 0; }
输出结果
上面程序的输出如下。
Initial 2-D array is: 0 1 2 1 2 3 2 3 4 3 4 5 Modified 2-D array is: 5 6 7 6 7 8 7 8 9 8 9 10