数组定义
问题描述:
数组定义
(25)下列选项中,能正确定义数组的语句是
A)int num[0..2008];
B)int num[];
C)int N=2008;
int num[N];
D)#define N 2008
int num[N];.
答案是D为什么C不可以?
答
C中N是变量,D中N是常量!但是C中N也是2008啊。是不是定义的时候一定要常量的?静态数组的长度一定是常量!因为在你定义一个数组时电脑就要在内存中为该数组分配你所需要长度的空间了,但如果是个变量,不能确定分配的空间应该为多大!C中的N是变量,,,虽说你赋了值为2008,但N的值可变!!!当N变了,,那么之前分配的空间该怎办,,不是是也要变??这不可能!!所以数组长度一定为常量!!加油!!