更多精彩内容,请见:http://www.16boke.com
by zxy,Java/C++编程交流群:168424095
数据类型数组变量名[个数常量];
因为数组占用的内存空间大小必须在程序编译时决定,并且一旦决定了,就不能再改变。所以只能用常量来指明数组的大小。当然,这是指在数据区或栈区分配内存,如果是在堆区,则可以动态地分配数组的大小。
由于SIZE是确定的,在编译之前就被替换,所以是对的;
第二个则属于动态定义,因为运行时才能知道数组该开辟多大,这种定义是非法的!
例如intarr[0];会报错error C2466: 不能分配常量大小为0 的数组。
对于数组变量,只能在定义时,对整个数组赋初值。
定义以后不能对数组整体赋值,只能对单个元素进行直接操作。
int arr[5];
arr[5] = {1,2,3,4,5};//错
//或
arr = {1,2,3,4,5}; //错
可以采用以下方式改变数组中第一个元素的值:
arr[0] =100;
可以用一个循环来实现将一个数组内的值一个一个全部赋值给另一个数组,这也称为数组间的拷贝。
因为数组名是数组首元素的内存地址,是一个常量,不能被赋值。
更多精彩内容,请见:http://www.16boke.com