天天看點

程式占用的記憶體分類

以下摘自博文:http://blog.csdn.net/daiyutage/article/details/8605580

一個由C/C++編譯的程式占用的記憶體分為以下幾個部分:

1、棧區(stack)— 由編譯器自動配置設定釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似于資料結構中的棧。

2、堆區(heap) — 一般由程式員配置設定釋放, 若程式員不釋放,程式結束時可能由OS回收 。注意它與資料結構中的堆是兩回事,配置設定方式倒是類似于連結清單,呵呵。

3、全局區(靜态區)(static)—,全局變量和靜态變量的存儲是放在一塊的,初始化的全局變量和靜态變量在一塊區域, 未初始化的全局變量和未初始化的靜态變量在相鄰的另一塊區域。 - 程式結束後由系統釋放。

4、文字常量區 —常量字元串就是放在這裡的。 程式結束後由系統釋放

5、程式代碼區—存放函數體的二進制代碼。