- 1、栈中的内存是操作系统自动分配的,可以理解成为时连续的,堆的内存分配是因为我们malloc空间的时候,申请的空间的大小不一样造成了碎片。使用malloc的时候系统内部有一个空闲内存映射表,系统会自动查找空闲内存中的第一个合适大小的空间分配
- 2、每一次分配的内存是连续的,但如果用结构体链表来管理分配的内存就可以将每一次分配的内存虚拟的连接起来,但前提是每一次分配的内存还是连续的,只是每个节点所占的内存单元不是连续的
- 3、分配和释放不一定什么时候发生。内核有自己申请内存的算法。当然不一定是连续的,如果想连续就一起申请
C++:堆内存为什么不连续
最新推荐文章于 2021-04-30 10:07:55 发布