0
点赞
收藏
分享

微信扫一扫

数据结构中的堆和栈与内存分配中的堆区和栈区分析

内存分配中的栈区和堆区:

栈区:

在Windows下,栈是向低地址扩展的数据结构。是一块连续的内存的区域

处于相对较高的地址以地址的增长方向为上的话,栈地址是向下增长的。栈中分配局部变量空间

由编译器自己主动分配释放 。存放函数的參数值局部变量的值

堆区

堆是向高地址扩展的数据结构,是不连续的内存区域。这是因为系统是用链表来存储的空暇内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址

一般由程序猿分配释放。 例如:new和malloc,若程序猿不释放,程序结束时可能由OS回收

动态数组的指针是在栈区,分配的空间在堆区

数据结构中的堆和栈与内存分配中的堆区和栈区分析_程序猿

 

举报

相关推荐

0 条评论