首页 > 试题广场 >

假定指针变量 p 定义为 “int *p = new int

[单选题]
假定指针变量 p 定义为 “int *p = new int(100);”,要释放 p 所指向的动态内存,应使用语句( )
  • delete p;
  • delete *p;
  • delete &p;
  • delete [] p;
这个是小括号
发表于 2015-07-29 19:07:56 回复(0)
答案:A
int* p = new int (100) 是创建一个int型的内存,并赋值为100; 
int *p = new int[100] 是创建100个int型的内存;
一般用法是new一个数组的话一般是delete [] 其他的直接delete即可。
但是其实对于内置数据类型,其实是delete[] 和delete都可以的。
发表于 2015-08-17 09:38:44 回复(3)
注意()是初始化,【】是定义多个对象。一定要注意深刻理解。
发表于 2016-05-26 21:48:15 回复(2)
看花了,小括号是赋值,[]才是数组
发表于 2017-01-02 15:28:51 回复(4)
【正确答案】A
【解析】delete 用于释放 new 创建的内存,delete [] 用于释放 new 创建的数组内存。delete 后面只能跟上 new 返回的指针变量。
A 选项正确。
B 选项 *p 是取 p 指向的内容。
C 选项 &p 是取 指针变量 p 的地址。
D 选项用于释放 new 创建的数组。

【new 和 delete 运算符知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
编辑于 2021-12-23 14:31:02 回复(0)

[]是创建数组,用delete [] p释放
()是指向单个数值,并初始化,用delete p释放

发表于 2020-06-04 21:01:05 回复(0)
注意【】  () 的区别:
int *p = new int(100); // p指向new动态分配的堆区空间,里面放100 // 为int类型数据申请空间并初始化
int * p = new int[100]; // p指向new分配的堆区空间,里面放数组
发表于 2023-10-11 19:29:34 回复(0)
int* p = new int (100) 是创建一个int型的内存,并赋值为100; int *p = new int[100] 是创建100个int型的内存;
发表于 2023-09-08 23:57:36 回复(0)
这难道不是申请了一个整型数组?
发表于 2022-03-12 01:00:23 回复(0)
坑 能不能严谨点?
发表于 2021-12-17 23:55:36 回复(0)
一般用法是new一个数组的话一般是delete [] 其他的直接delete即可。
发表于 2020-09-04 19:56:45 回复(0)
但是其实对于内置数据类型,其实是delete[] 和delete都可以的
发表于 2020-05-08 10:57:15 回复(0)
new int(100);和new int[100]; 一个创建一个int赋值100 一个创建100int内存
发表于 2019-12-06 09:09:11 回复(0)
c
发表于 2019-04-28 14:52:36 回复(0)
答案:A int* p = new int (100) 是创建一个int型的内存,并赋值为100;  int *p = new int[100] 是创建100个int型的内存; 一般用法是new一个数组的话一般是delete [] 其他的直接delete即可。 但是其实对于内置数据类型,其实是delete[] 和delete都可以的。
发表于 2019-03-07 17:26:48 回复(0)
眼瞎了,这是new一个int数据。。。
发表于 2018-01-11 18:34:26 回复(0)
p是一个指针,并非一个数组
发表于 2017-09-30 15:46:45 回复(0)
int* p = new int (100) 是创建一个int型的内存,并赋值为100; 
int *p = new int[100] 是创建100个int型的内存;
一般用法是new一个数组的话一般是delete [] 其他的直接delete即可。
但是其实对于内置数据类型,其实是delete[] 和delete都可以的。
delete[]是删除数组的,这个只是创建了一个int型的内存而不是数组。
发表于 2017-07-01 11:09:45 回复(0)
看走眼了,(100)是初始化为100,[100]是100个元素
发表于 2017-06-12 09:08:38 回复(0)
这里是int(100),将这四个字节初始化为100,相当于执行了int的构造函数。。。 
发表于 2015-08-05 15:23:23 回复(0)