新闻  |   论坛  |   博客  |   在线研讨会
堆和栈的区别
xinjinlong | 2010-11-15 17:31:15    阅读:1656   发布文章

堆和栈的问题是经常说到的,今天我也说两句
栈:自动变量以及每次函数调用时所需保存的信息都放在此段中,每次函数调用时,其返回地址,以及调用者的环境信息都放在栈中。然后,新被调用的函数在栈上为其自动和临时变量分配存贮空间。通过这种方式使用栈,C函数可以递归调用。
堆:通常在堆中进行动态存贮分配。由于历史上形成的惯例,堆位于非初始化数据段顶和栈底之间。
在栈上分配空间可以自动释放,但是在堆上分配空间必须手动释放。

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
五湖四海皆朋友
最近文章
浅谈MIPS的MMU(二)
2016-08-16 19:33:41
浅谈MIPS的MMU(一)
2016-05-05 10:55:06
推荐文章
最近访客