经典指数          
原因
4214
浏览数
0
收藏数
 

C++中关于堆和栈的说法,哪个是错误的:
  • 堆的大小仅受操作系统的限制,栈的大小一般一般较小
  • 在堆上频繁的调用new/delete容易产生内存碎片,栈没有这个问题
  • 堆和栈都可以静态分配
  • 堆和栈都可以动态分配

     举报   纠错  
 
切换
1 个答案

选C,静态分配是指在编译阶段就能确定大小,由编译器进行分配,堆不可以进行静态分配,堆的申请都是在执行过程中进行的。

A,堆和栈的大小都可以设置,栈一般只有几KB。

B,堆在动态分配时,要申请连续的内存空间,释放后会产生碎片。

D,堆是使用malloc()、calloc()、realloc()等函数动态分配的,而使用alloca()函数可以动态分配栈的内存空间,释放的时候由编译器自己释放。

 
切换
撰写答案