C++的数组和指针
数组的定义
数组的维数必须用大于等于1的常量表达式定义。此常量表达式只能包含整形字面值常量、枚举常量、或者用常量表达式初始化的整形const对象。
非const变量、以及到运行阶段才知道其值的const变量都不能用于定义数组的维数。
const int size = get_size();
int a_size = 26;
int table[size]; //error
int array[a_size]; //error
//因为size虽然是const int常量,但是编译阶段是无法获得其值的。a_size是整形变量,运行时可能其值被改变,所以array数组的大小也得等到运行时候才能确定,所以非法。
int a_size = 26;
int table[size]; //error
int array[a_size]; //error
//因为size虽然是const int常量,但是编译阶段是无法获得其值的。a_size是整形变量,运行时可能其值被改变,所以array数组的大小也得等到运行时候才能确定,所以非法。