C++中关于堆和栈的说法,哪个是错误的:

来源:互联网 发布:淘宝店铺基础信息填写 编辑:程序博客网 时间:2024/05/16 06:34

C++中关于堆和栈的说法,哪个是错误的:

正确答案: C  

堆的大小仅受操作系统的限制,栈的大小一般一般较小
在堆上频繁的调用new/delete容易产生内存碎片,栈没有这个问题
堆和栈都可以静态分配
堆和栈都可以动态分配
  • 添加笔记
  • 求解答(7)
  • 收藏
  • 纠错


选C,静态分配是指在编译阶段就能确定大小,由编译器进行分配,堆不可以进行静态分配,堆的申请都是在执行过程中进行的。
A,堆和栈的大小都可以设置,栈一般只有几KB。
B,堆在动态分配时,要申请连续的内存空间,释放后会产生碎片。
D,堆是使用malloc()、calloc()、realloc()等函数动态分配的,而使用alloca()函数可以动态分配栈的内存空间,释放的时候由编译器自己释放。

0 0