函数参数-参数类型为二维数组

如果要给函数传一个二维数组类型的实参,并且要求函数中对二维数组的操作在函数返回之后仍然有效,需要怎么传递这个参数?

这个函数的返回类型为二维数组,函数执行完毕后,return

图片说明

#include

void func(int arry[3][3])
{
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 3; j++)
{
arry[i][j] = 1;
}
}
}

int main(void)
{
int arry[3][3] = {0};
func(arry);

for (int i = 0; i < 3; i++)
{
    for (int j = 0; j < 3; j++)
    {
        printf("%d\n", arry[i][j]);
    }
}

int input;
scanf_s("%d", &input);

}

方法有二:
一:设置全局变量,将实参传入函数运算后的结果赋值给全局变量,然后将全局变量再赋值给二维数组。
二:设置函数数据返回类型,采用return。

要调用的函数:

 void f(int data[][])
 {
 }

然后在调用的时候将二维数组传进去就可以了,类似:

 inti a[10][10];
 f(a);

需要引用形参,如&b[][]作为形参,值就改变了。