C/C++允许用赋值后的变量定义数组长度么?
intn=10;intarray[n];这个样子对么?我看书上说定义数组长度时必须是常量或常量表达式,但我用上面的语句写C语言程序也没出错,请问这应该怎么解释和理解?...
int n=10;
int array[n];
这个样子对么?我看书上说定义数组长度时必须是常量或常量表达式,但我用上面的语句写C语言程序也没出错,请问这应该怎么解释和理解? 展开
int array[n];
这个样子对么?我看书上说定义数组长度时必须是常量或常量表达式,但我用上面的语句写C语言程序也没出错,请问这应该怎么解释和理解? 展开
3个回答
展开全部
这样是非法的。因为n是变量也就是说,n可以为赋任何值,这样就违背了静态空间分配的原则,所以数组长度时必须是常量或常量表达式。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
理论和实际上数组长度都应该是常量,或者常量表达式,因为这样编译器才能在预编译的时候进行内存大小的分配。不知你所谓的没有出错是什么意思,贴出源码来看看
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询