1,
const int a[] = {1,2,3,4};
int f[a[2]];
执行上边的语句会报错!
解释:
const数组a【】在编译的时候不知道其值,所以在编译的时候a[2]还不知道是多少,即是个变量,而intf[a2]]中a[2]必须要是个常量才行!
2,而
const int m = 10;
const int n = m;
int f1[n];
这样是可行的,
解释:可能是编译器的优化,默认n=10为常量;