在C中,const不是常量,只能说是一个不能改变的变量(注意是变量),C编译器不能把const看成看成一个编译期间的常量,因为他在内存中有分配,C编译器不知道他在编译期间的值.所以不能作为数组定义时的下标,因为它必须为常量. 在C中,const int a:是可以的,因为这只是声明一个变量,告诉编译器,我这里是声明,指明在别的地方有内存分配.但在C++中这样写是不正确的,C++中const默认是内部链接,C中默认是外部链接,为了起到和c语言一样的效果,C++需要将const修饰为extern,因…