C++,二维数组作为实参的调用

2024年11月22日 19:56
有2个网友回答
网友(1):

长知识了,,,

网友(2):

二维数组p[m][n]可以理解为m行n列,在作为参数的时候,必须指定每行有多少个数据,就是指定n值,在子函数中使用p[1][0],系统就会从入参开始往后偏移1*n个数之后作为p[1][0]的地址。

修改后的代码如下:
#include

void add_one(int p[][2])
{
for(int i=0;i<2;i++)
for(int j=0;j<2;j++)
p[i][j]+=1;
}

int main()
{
int a[2][2]={{0,0},
{0,0}};
add_one(a);
for(int i=0;i<2;i++)
{for(int j=0;j<2;j++)
printf("%d ",a[i][j]);
printf("\n");}

return 0;
}