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