C/C++允许用赋值后的变量定义数组长度么?int n=10;int array[n];这个样子对么?我看书上说定义数组长度时必须是常量或常量表达式,但我用上面的语句写C语言程序也没出错,请问这应该怎么解

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/05 17:44:02
C/C++允许用赋值后的变量定义数组长度么?int n=10;int array[n];这个样子对么?我看书上说定义数组长度时必须是常量或常量表达式,但我用上面的语句写C语言程序也没出错,请问这应该怎么解

C/C++允许用赋值后的变量定义数组长度么?int n=10;int array[n];这个样子对么?我看书上说定义数组长度时必须是常量或常量表达式,但我用上面的语句写C语言程序也没出错,请问这应该怎么解
C/C++允许用赋值后的变量定义数组长度么?
int n=10;
int array[n];
这个样子对么?我看书上说定义数组长度时必须是常量或常量表达式,但我用上面的语句写C语言程序也没出错,请问这应该怎么解释和理解?

C/C++允许用赋值后的变量定义数组长度么?int n=10;int array[n];这个样子对么?我看书上说定义数组长度时必须是常量或常量表达式,但我用上面的语句写C语言程序也没出错,请问这应该怎么解
理论和实际上数组长度都应该是常量,或者常量表达式,因为这样编译器才能在预编译的时候进行内存大小的分配.不知你所谓的没有出错是什么意思,贴出源码来看看