| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 533 人关注过本帖
标题:请教一个数组做形参时是形式问题
只看楼主 加入收藏
fjfjklds
Rank: 1
等 级:新手上路
帖 子:23
专家分:5
注 册:2015-9-25
结帖率:57.14%
收藏
已结贴  问题点数:20 回复次数:5 
请教一个数组做形参时是形式问题
int a[n][m]
当做函数形参时
void a(int a[][m],int m)
那么当m也是数组时该如何表达呢
int m[x][y]
int a[n][m[x][y]]
求教
搜索更多相关主题的帖子: 如何 
2015-10-05 15:47
蓝色风暴cl
Rank: 8Rank: 8
来 自:新疆
等 级:蝙蝠侠
威 望:3
帖 子:163
专家分:704
注 册:2015-9-6
收藏
得分:0 
不会。。凑个热闹。

欢迎大家加好友哦,多找我聊聊吧!
2015-10-05 16:13
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:0 
楼主是想说两个二维数组,还是一个三维数组?
三维数组如下教材所示:
In general, to declare a pointer corresponding to an N-dimensional array, you must supply
values for all but the leftmost set of brackets:
int sum4d(int ar[][12][20][30], int rows);   //数组版本
That's because the first set of brackets indicates a pointer, whereas the rest of the brackets
describe the type of data object being pointed to, as the following equivalent prototype
illustrates:
int sum4d(int (*ar)[12][20][30], int rows); // ar a pointer //指针版本
Here, ar points to a 12x20x30 array of ints.


PS:摘自《C Primer Plus》
2015-10-05 20:03
fjfjklds
Rank: 1
等 级:新手上路
帖 子:23
专家分:5
注 册:2015-9-25
收藏
得分:0 
回复 3楼 hjx1120
不是3维数组,而是假设一个2维数组int a[n][m]用来输入n个班中m个人的成绩,n和m都是常数,这就意味着输入的每班的人数都是一定的,但事实上不可能每个班的人数都一定,所以我想在m中也应用一个1维数组来,来输入每个班中不同的人数,但是不知道在作为定义函数的形参时该怎么表达
2015-10-05 22:45
hjx1120
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:李掌柜
等 级:贵宾
威 望:41
帖 子:1314
专家分:6927
注 册:2008-1-3
收藏
得分:20 
回复 4楼 fjfjklds
数组那章节有一个专业名词叫“VLA”(变长数组)
应该就是楼主想要的一种解决方案


2015-10-05 22:59
fjfjklds
Rank: 1
等 级:新手上路
帖 子:23
专家分:5
注 册:2015-9-25
收藏
得分:0 
回复 5楼 hjx1120
谢谢了,我看的那本c语言书入门书只有2维数组,上网查又不知道从何查起,原来是c99才有的内容
2015-10-05 23:13
快速回复:请教一个数组做形参时是形式问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.013024 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved