當前位置:趣味科普網>經驗>

記憶體堆和棧的區別

經驗 閱讀(6.91K)

記憶體堆和棧的區別

棧:記憶體由編譯器在需要時自動分配和釋放。通常用來儲存區域性變數和函式引數。為執行函式而分配的區域性變數、函式引數、返回地址等存放在棧區。棧運算分配內置於處理器的指令集中,效率很高,但是分配的記憶體容量有限。

堆:記憶體使用new進行分配,使用delete或delete釋放。如果未能對記憶體進行正確的釋放,會造成記憶體洩漏。但在程式結束時,會由作業系統自動回收。