首页 > 试题广场 >

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

[单选题]
对于以下代码,
char* p=new char[100];
说法正确的是()
  • p和new出来的内存都在栈上
  • p和new出来的内存都在堆上
  • p在堆上,new出来的在栈上
  • p在栈上,new出来的在堆上
new 出来的对象放在堆中,局部变量放在栈中。
发表于 2019-02-17 23:21:30 回复(0)
更多回答
栈:由编译器在需要时自动分配,不需要时自动清除的变量存储区。通常存放局部变量、函数参数等。 堆:由new分配的内存块,由程序员释放(编译器不管),一般一个new与一个delete对应,一个new[]与一个delete[]对应。如果程序员没有释放掉,资源将由操作系统在程序结束后自动回收。
发表于 2022-03-09 10:01:35 回复(0)
new 出来的对象放在堆中,局部变量放在栈中
发表于 2021-10-18 09:02:04 回复(0)
new出来的对象放在堆中,
局部变量放在栈中。
发表于 2020-10-22 13:02:04 回复(0)
new和malloc都是在堆上申请空间的,属于动态申请
发表于 2022-03-16 19:14:50 回复(0)
new出来的对象空间都是在堆空间上申请的,局部变量p、函数参数在栈中存放。
发表于 2023-08-30 20:34:52 回复(0)
new和malloc出来的动态空间都是在堆空间上申请的
发表于 2023-05-11 15:15:51 回复(1)