有说明语句int *p=new int[10];释放动态数组的正确语句是()A、delete []p;B、delete p[]C、delete int[]pD、delete p int[10]

题目

有说明语句int *p=new int[10];释放动态数组的正确语句是()

  • A、delete []p;
  • B、delete p[]
  • C、delete int[]p
  • D、delete p int[10]
参考答案和解析
正确答案:A
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

若有语句int*p=newint[5];int*pi;则以下语句中,执行时会造成delete[]p语句的执行出错的是()。

A、(*p)++;

B、p++;

C、pi=p;

D、pi=p+3;


参考答案:B

第2题:

有如下类定义,请将Sample类的复制构造函数补充完整。

class Sample{

public:

Sample( ){ }

~Sample( ){if(P)delete P;)

Sample(const Sample&s){______}

void SetData(int datA) {P=new int(datA) ;}

private:

int*P:

};


正确答案:*this=s;
*this=s;

第3题:

下列语句中错误的是()。

A.“int *p=new int (10);”

B.“int *p=new int [10];”

C.“int *p=new int ;”

D.“int *p=new int (10)(0);”


参考答案:D

第4题:

要使语句“p=new int[10][20]”正确,p应事先定义为

A: int*p

B: int**p

C: int*p[20]

D: int(*p)[20]


正确答案: D

第5题:

下面程序错误的语句是

①#include

②void main()

③{

④int*p=new int[1];

⑤p=9;

⑥cout <<*p<

⑦delete[]p

⑧}

A.④

B.⑤

C.⑥

D.⑦


正确答案:B

第6题:

下面程序错误的语句是①include < iostream.h>②void main( 0③{④int * p = new int[1] ;⑤p =9;⑥co

下面程序错误的语句是 ①#include < iostream.h> ②void main( 0 ③{ ④ int * p = new int[1] ; ⑤ p =9; ⑥ cout <<*p <<end1; ⑦ delete [ ] p; ⑧ }

A.④

B.⑤

C.⑥

D.⑦


正确答案:B
解析:本题考查的是指针的使用,p是指向int型的指针,若想给它指向的元素赋值,应使用 *符号,直接赋值相当于改变了原来p存储的地址。

第7题:

下面程序错误的语句是 ① include ② void main( ) ③ { ④ int * p=new int[1] ; ⑤ p

下面程序错误的语句是

① #include<iostream.h>

② void main( )

③ {

④ int * p=new int[1] ;

⑤ p=9;

⑥ cout < < * p < <endl;

⑦ delete[ ] p;

⑧ }

A.④

B.⑤

C.⑥

D.⑦


正确答案:B
解析:本题考查的是指针的使用,p是指向int型的指针,若想给它指向的元素赋值,应使用。符号,直接赋值相当于改变了原来p存储的地址。

第8题:

定义p并使p指向动态空间中的包含30个整数的数组所使用的定义语句为()。

A、int*p=newint[30]

B、int*p=newint(30)

C、int*p=new[30]int*p=new[30]

D、*p=newint[30]


参考答案:A

第9题:

下面程序运行时输出结果为______。 include include class Rect { public: Rect(int

下面程序运行时输出结果为______。

include<iostream.h>

include

class Rect

{

public:

Rect(int l, int w){length=l; width=w;)

void Print(){cout<<"Area:"<<length*width<<end1;}

void operator delete(void*p){free(p);}

private:

int length, width;

};

void main()

{

Rect *p;

p=new Rect(5, 4);

p->Print();

delete p;

}


正确答案:Area:20
Area:20 解析:此题考查的是内存空间的分配和释放,即free和delete函数的应用。使用new对某种类型的变量进行动态分配的语法格式为:指针=new类型;使用delete对动态分配的变量进行释放是:delete指针。此题中,首先为变量分配内存单元,然后执行语句p->Print();输出Area:20,然后利用delete释放内存单元。

第10题:

以下程序的输出结果是【】。includevoid main() {int *p;p=new int;*p=200;cout<<*p;d

以下程序的输出结果是【 】。

include<iostream. h>

void main() {

int *p;

p=new int;

*p=200;

cout<<*p;

delete p;

}


正确答案:200
200

更多相关问题