堆與棧的區別是什麼?

學識都 人氣:2.65W

   lheap area存放程序的動態數據

堆與棧的區別是什麼?

stack area存放程序的局部數據

l1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的.棧。地址是由高向低減少的

2、堆區(heap) — 一般由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收 。注意它與數據結構中的堆是兩回事,分配方式倒是類似於鏈表,呵呵。地址是由低向高增長的

TAGS: