首页 > 试题广场 >

对于以下代码, char* p=new char[10

[单选题]
对于以下代码,
char* p=new char[100];
正确的是
  • p和new出来的内存都在栈上
  • p和new出来的内存都在堆上
  • p在堆上,new出来的在栈上
  • p在栈上,new出来的在堆上
推荐
【正确答案】D
【解析】p 是局部变量,保存的是内存的地址,它的内存在栈上,new 出来的内存在堆上。
 
new 和 delete 运算符知识点讲解】
更多C++基础专业知识讲解,点击链接即可查看
https://www.nowcoder.com/link/zxyl-cpp88
编辑于 2021-11-18 08:38:24 回复(0)

动态申请的内存存储在堆区,需要手动释放。

局部变量存储在栈区,自动释放。

发表于 2019-03-24 16:44:48 回复(0)
char * p p是自动变量,存放在栈上
发表于 2022-03-14 14:02:25 回复(0)
感觉是不是题目不严谨呀,这里没有说p是局部的还是全局的,所以也不一定是在栈上吧
编辑于 2020-09-19 17:24:51 回复(1)
这个*号是什么意思
发表于 2018-07-22 18:34:43 回复(1)
emm想问一下,如果指针p是全局变量呢
发表于 2022-05-04 21:53:12 回复(0)

动态申请的内存存储在堆区,需要手动释放。

局部变量存储在栈区,自动释放。

发表于 2022-05-08 14:41:59 回复(0)
int*p=new(100) p在哪?栈还是堆?
发表于 2021-02-19 18:15:46 回复(1)