C语言:栈中内存分配是连续的,堆中内存分配是不连续的,对吗?

2025-02-06 09:06:32
推荐回答(2个)
回答1:

栈中的内存是操作系统自动分配的,可以理解成为时连续的,对中的内存分配是因为我们malloc空间的时候,申请的空间的大小不一样造成了碎片。我们使用malloc的时候系统内部有一个空闲内存映射表,系统会自动查找空闲内存中的第一个合适大小的空间分配!写昂能够帮到你!

回答2:

1、栈中的内存是操作系统自动分配的,可以理解成为时连续的,对中的内存分配是因为我们malloc空间的时候,申请的空间的大小不一样造成了碎片。使用malloc的时候系统内部有一个空闲内存映射表,系统会自动查找空闲内存中的第一个合适大小的空间分配。
2、每一次分配的内存是连续的,但如果用结构体链表来管理分配的内存就可以将每一次分配的内存虚拟的连接起来,但前提是每一次分配的内存还是连续的,只是每个节点所占的内存单元不是连续的。