C语言如何让函数返回二维数组?

2024-11-22 08:33:54
推荐回答(1个)
回答1:

你本身传递的就是数组,并不需要旦纤核返回数组,直接在你的函数内更改二维数组的值的就行了(注意,如果在是函数内创建的模掘数组,再返回会有问题,出了函数这个变竖明量就无效了),比如如下
#include
void fun(int (*pIntPtr)[4]) {
*(*pIntPtr + 0)=20;//将a[0][0]改为20
*(*(pIntPtr+3) + 2)=30;//将a[3][2]改为30
}

int main() {
int A[4][4] = {{10,2,3,1},{12,4,5,1},{14,7,8,1},{15,9,2,1}};
int i,j;
fun(A);
for(i=0;i<4;i++)
{
for(j=0;j<4;j++) printf("%4d",A[i][j]);
printf("\n");
}
}