堆和栈的地址空间是否一定要连续?

2019-07-14 22:26发布

堆和栈的地址空间是否一定要连续?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
12条回答
jiahy
1楼-- · 2019-07-15 04:39
2.堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。
zhaoxqi
2楼-- · 2019-07-15 08:52

这是最常见的解释堆和栈,楼主没领会了
heweibig
3楼-- · 2019-07-15 14:29
 精彩回答 2  元偷偷看……
heweibig
4楼-- · 2019-07-15 15:14

栈:是一块连续的内存的区域。
堆:堆是向高地址扩展的数据结构,是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存。由此可见,堆获得的空间比较灵活,也比较大。
wuhany
5楼-- · 2019-07-15 20:08

使用栈就象我们去饭馆里吃饭,只管点菜(发出申请)、付钱、和吃(使用),吃饱了就走,不必理会切菜、洗菜等准备工作和洗碗、刷锅等扫尾工作,他的好处是快捷,但是自由度小。
shimx
6楼-- · 2019-07-15 20:44

使用堆就象是自己动手做喜欢吃的菜肴,比较麻烦,但是比较符合自己的口味,而且自由度大。

一周热门 更多>