问题
单项选择题
已知n是一个int型变量,下列语句中错误的是
A.long*p=new long[n];
B.long p[n];
C.long*p=new long(n);
D.long p[10];
答案
参考答案:B
解析: 本题考核指针、数组和关键字new。说明一维数组的一般形式为:<数据类型><数组名>[<数组长度>];在此数组长度必须常量表达式,它是一个整常数。B) 选项中n是一个 int型变量不是常数,所以是错误的。选项A、C使用new获得动态内存空间,它的操作数可以带有初始值表达式或元素个数,A选项的形式表示数组元素的个数,C选项的形式表示为变量*p赋初值n。