c/c++程序內存分配的幾個區域:
1.棧區:在執行函數時,函數內局部變量的存儲單元都可以在棧上創建,函數執行結束時這些存儲單元自動被釋放,棧內存分配運算內置于處理器的指令集中,效率很高但是分配的內存容量有限,棧區主要存放運行函數而分配的局部變量、函數參數、返回數據、返回地址等
2.堆區:一般由程序員分配釋放,若程序員不釋放,程序結束時可能由os(操作系統)回收,分配方式類似于鏈表。
3.數據段(靜態區) :存放全局變量、靜態數據,程序結束后由系統釋放
4.代碼段:存放函數體(類成員函數和全局函數)的二進制代碼