C语言新手。C语言int型全局常量为什么不能用来定义数组的长度,代码如下解决方法
C语言新手。C语言int型全局常量为什么不能用来定义数组的长度,代码如下const int LENGTH 5void a()void
C语言新手。C语言int型全局常量为什么不能用来定义数组的长度,代码如下
const int LENGTH = 5;
void a();
void main(){
int arr1[LENGTH];
a();
}
void a(){
int arr2[LENGTH];
printf("%d.\n",LENGTH);
}
我在上面定义了全局常量,但是下面要用这个全局常量定义数组长度的时候却说错误。请高手指点。。。
[解决办法]
const不是常量 是常值变量,本质上是个不能改变数值的变量
所以不能用来定义数组长度
[解决办法]
const并不代表常量,只是代表只读
[解决办法]
[解决办法]你可以宏定义:
#define LENGTH=5
[解决办法][解决办法]#define LENGTH 5
is right
[解决办法][解决办法]vs2005 这样写没有任何问题,直接编译通过运行都没问题。
看来c跟c++还是有不少的区别...
[解决办法]#define LENGTH 5;
把那个分号去掉,宏定义可以简单的理解为文本替换,你的LENGTH在后文代码中被替换成了5;当然会出问题。
[解决办法]