C/C++程序中堆和栈的区别

分配方式:

栈由系统自动分配和释放,用于存放函数的参数值,局部变量值等。堆由程序员分配和释放,若程序员不释放,可能在程序结束时由操作系统回收。

分配效率:

栈的分配效率比堆要高得多,但堆的使用更灵活。

空间大小:

栈是连续的一块内存区域,其空间较小,是在编译时就确定了的,易产生栈溢出。堆的内存区域是不连续的,其空间较大。

碎片问题:

堆的使用容易产生碎片,使程序效率降低。而栈则不存在这个问题。

原文链接: https://www.cnblogs.com/wxxweb/archive/2011/06/03/2070198.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C/C++程序中堆和栈的区别

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/26687

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月8日 上午4:20
下一篇 2023年2月8日 上午4:21

相关推荐