c语言如何传递多个二维数组
这样可以吗?fun(inta[][N],intb[][P],intM,intN,intQ,intP)具体一点,函数声明、调用和定义分别怎么样。...
这样可以吗?
fun(int a[][N],int b[][P],int M,int N,int Q,int P)
具体一点,函数声明、调用和定义分别怎么样。 展开
fun(int a[][N],int b[][P],int M,int N,int Q,int P)
具体一点,函数声明、调用和定义分别怎么样。 展开
1个回答
展开全部
二维数组即数组元素为数组的数组,数组在函数传参时,为了避免复制,会自动转成指向数组第1个元素的指针,二维数组在传参时,会转成一个指向数组的指针
所以声明是fun(int (*a)[N])当然写成fun(int a[][N])也行,因为实际是int(*)[N]这种类型,所以建议就这么写。
调用就直接转一个int a[x][N]类型的数组即可。
定义就是多一个函数体,必须有形参的名字。
所以声明是fun(int (*a)[N])当然写成fun(int a[][N])也行,因为实际是int(*)[N]这种类型,所以建议就这么写。
调用就直接转一个int a[x][N]类型的数组即可。
定义就是多一个函数体,必须有形参的名字。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询