如何声明可变长度的数组 C语言

书上的原代码:voidscalarMultiply(intnRows,intnCols,intmatrix[nRows][nCols],intscalar);报错说:rr... 书上的原代码:void scalarMultiply (int nRows, int nCols,int matrix[nRows][nCols],int scalar);

报错说:rror: `nRows' undeclared (first use this
function)

请高人指点下吧 如果允许 请顺便写下正确的声明方式。。 谢谢
展开
 我来答
青冢黄昏路
推荐于2016-03-21 · 超过10用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:0
展开全部
C99允许用变量做数组下标,也就是可以声明可变长度的数组,但是据我所知,目前还没有C99标准的编译器!VC也不是。但你可以用一个宏定义做嘛,改的时候改宏定义那一个地方就可以了。
吃亏吃亏不用之8197
2008-10-15 · TA获得超过351个赞
知道小有建树答主
回答量:893
采纳率:0%
帮助的人:0
展开全部
书上是什么代码啊?晕死。
变长数组是C99标准。最新的编译器已经可以执行。
如下面的语句:
int n = 3;
int a[n];
或如
int n;
scanf("%d",&n);
int a[n];
这都是变长数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
嵌入者
2008-10-16 · 超过19用户采纳过TA的回答
知道答主
回答量:81
采纳率:0%
帮助的人:52.3万
展开全部
如果实在需要,你就声明个大的,如nRows=1000;不过用指针可以解决这个问题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
03013110
2008-10-16 · TA获得超过529个赞
知道小有建树答主
回答量:1216
采纳率:0%
帮助的人:389万
展开全部
可变长度数组一直以来就是C的难题,c++中封装的类也是用链表实现的,效率不高;你可以考虑使用稀数数组,节省空间!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式