区分栈和堆

  • 管理方式:栈由编译器管理,堆由程序员控制。
  • 空间大小:VC下栈默认是1MB,堆在32位的系统上可以达到4GB。
  • 碎片问题:栈不会产生碎片,堆会产生碎片。
  • 生长方向:堆向着内存地址增加的方向增长,栈向着内存地址减少的方向增长。
  • 分配方式:堆是动态分配的。栈是静态分配和动态分配的,静态分配由编译器完成,动态分配由alloca函数进行分配,由编译器释放。
  • 分配效率:栈的分配效率非常高。堆的分配机制很复杂,效率比栈要低得多。
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《区分栈和堆》
文章链接:https://zhuji.vsping.com/6488.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。