const在C和C++中定义数组时的不同
#include<stdio.h>
int main() {
int arr1[10];//C与C++中都可以
int sz1 = 10;
int arr2[sz1];//C与C++中都不可以
const int sz2 = 10;
int arr3[sz2];//C中不可以,C++中可以
system("pause");
return 0;
}
原因:
- 数组定义的规定是维度必须是 常量
- 在C语言中,const 修饰的标识符具有常属性,不能被直接修改,但本质依然是一个变量
- 在C++中,const修饰的标识符就是常量。
【相关知识点】
注意在C中还有define定义的标识符常量
#include<stdio.h>
#define sz 10
int main() {
int arr4[sz];//C与C++中都可以
system("pause");
return 0;
}