问题 单项选择题

已知: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为一变量所以是错误的。

改错题
填空题