棧區(qū)(stack):#順序隨意#
堆區(qū)(heap):#先進(jìn)后出#
1、棧區(qū)(stack)— 由編譯器自動(dòng)分配釋放 析苫,存放函數(shù)的參數(shù)值兜叨,局部變量的值等。其操作方式類似于數(shù)據(jù)結(jié)構(gòu)中的棧
2衩侥、堆區(qū)(heap) — 一般由程序員分配釋放国旷, 若程序員不釋放,程序結(jié)束時(shí)可能由OS回收 顿乒。注意它與數(shù)據(jù)結(jié)構(gòu)中的堆是兩回事议街,分配方式倒是類似于鏈表,呵呵璧榄。
3、全局區(qū)(靜態(tài)區(qū))(static)—吧雹,全局變量和靜態(tài)變量的存儲(chǔ)是放在一塊的骨杂,初始化的全局變量和靜態(tài)變量在一塊區(qū)域, 未初始化的全局變量和未初始化的靜態(tài)變量在相鄰的另一塊區(qū)域雄卷。 - 程序結(jié)束后有系統(tǒng)釋放
4搓蚪、文字常量區(qū) —常量字符串就是放在這里的。 程序結(jié)束后由系統(tǒng)釋放
5丁鹉、程序代碼區(qū)—存放函數(shù)體的二進(jìn)制代碼妒潭。