堆和栈的区别(一)

堆和栈的区别 1、预备知识—程序的内存分配 一个由c/C++编译的程序占用的内存分为如下几个部分 一、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操做方式相似于数据结构中的栈。 二、堆区(heap) — 通常由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式却是相似于链表,呵呵。 三、全局区(静态区)(st
相关文章
相关标签/搜索