如何声明可变长度的数组 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)
请高人指点下吧 如果允许 请顺便写下正确的声明方式。。 谢谢 展开
报错说:rror: `nRows' undeclared (first use this
function)
请高人指点下吧 如果允许 请顺便写下正确的声明方式。。 谢谢 展开
4个回答
展开全部
书上是什么代码啊?晕死。
变长数组是C99标准。最新的编译器已经可以执行。
如下面的语句:
int n = 3;
int a[n];
或如
int n;
scanf("%d",&n);
int a[n];
这都是变长数组。
变长数组是C99标准。最新的编译器已经可以执行。
如下面的语句:
int n = 3;
int a[n];
或如
int n;
scanf("%d",&n);
int a[n];
这都是变长数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果实在需要,你就声明个大的,如nRows=1000;不过用指针可以解决这个问题
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可变长度数组一直以来就是C的难题,c++中封装的类也是用链表实现的,效率不高;你可以考虑使用稀数数组,节省空间!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询