c/c++怎样向函数传递二维数组的参数?

这个问题应该很简单,麻烦各位不要粘网上的,就说说自己是怎么写的就可以了。... 这个问题应该很简单,麻烦各位不要粘网上的,就说说自己是怎么写的就可以了。 展开
 我来答
一骑当后
推荐于2016-02-13 · 知道合伙人数码行家
一骑当后
知道合伙人数码行家
采纳数:40298 获赞数:306448
网络、设备维护、电路、弱电检测。

向TA提问 私信TA
展开全部

  c/c++可以用二维数组名作为实参或者形参,在被调用函数中对形参数组定义时可以指定所有维数的大小,也可以省略第一维的大小说明,如:

     void Func(int array[3][10]); 

     void Func(int array[][10]);

     二者都是合法而且等价,但是不能把第二维或者更高维的大小省略,如下面的定义是不合法的: 

     void Func(int array[][]);
低调明哥24
2013-11-11 · TA获得超过183个赞
知道小有建树答主
回答量:261
采纳率:0%
帮助的人:143万
展开全部
参数可以直接使用二楼那位说的那样,就是参数就是数组。但是实际上印象中是数组做参数之后实际得到的也是该数组的指针,也就是首地址,所以直接用指针就可以了其实
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
整个妆cC
推荐于2018-02-27 · 超过22用户采纳过TA的回答
知道答主
回答量:68
采纳率:100%
帮助的人:63.6万
展开全部
假如主函数有一个二维数组int a[10][18];
写一个函数要传递二维数组,函数原型应该是这个样子
void f(int (*)a[18]);
或者 void f(int a[][18]) 必须确定第二维长度是多少
更多追问追答
追问
在下愚钝只搞明白了void f(int a[][18]),以前上课没怎么听可否再详细说一下void f(int (*)a[18]);是怎么个情况
追答
void f(int (*)a[18])和void f(int a[][18])是等价的,就好像传一维数组void fun(int a[])和void func(int *a)一样
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuqirxjh0501
2013-11-11 · TA获得超过298个赞
知道小有建树答主
回答量:93
采纳率:0%
帮助的人:75.3万
展开全部
用函数指针的方式
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式