A-A+
已知:int n=10;那么下列语句中错误的是A.int*p=new long[n];B.i
问题详情
已知:int n=10;那么下列语句中错误的是
A.int*p=new long[n];
B.int p[n];
C.int*p=new long(n);
D.int p[10];请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:B
解析:本题考核指针、数组和new运算符。运算符new用于动态申请存储空间,它的操作数为某种数据类型且可以带有初值表达式或元素个数,若带初值,则其表达式为:<指针>=new<类型>(初值),如C选项所示,若带有元素个数,则其语法格式为:<指针>=new<类型>[<元素个数>],如A选项所示。数组定义中数组大小必须为常量,而B选项中的n为一变量所以是错误的。