用数组时,必须要知道
二维数组的后一个维度,否则无法正确修改,比如: void modify(int a[][10]) { a[1][2] = 12; a[2][5] = 25; } void main() { int a[5][10]; a[1][2] = 0; a[2][5] = 0; modify(a); printf("a(1,2)=%d, a(2,5)=%d\n",12, 25); } 用指针方式实现时要注意二维数组的建立过程。比如以上的int a[5][10],用指针实现相同功能的代码如下: void modify(int **a) { a[1][2] = 12; a[2][5] = 25; } void main() { int **a; a = (int **) malloc( sizeof(int *) *5); for(int i=0 ; i<5 ; i++) a[i]=(int *) malloc(sizeof(int)*10); a[1][2] = 0; a[2][5] = 0; modify(a); printf("a(1,2)=%d, a(2,5)=%d\n",12, 25); }
追问
这是我的源代码
本回答被网友采纳