內存分區:
1)、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似於數據結構中的棧。
2)、堆區(heap) — 一般由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收 。(ios中alloc都是存放在堆中)
3)、全局區(靜態區)(static)—,全局變量和靜態變量的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域, 未初始化的全局變量和未初始化的靜態變量在相鄰的另一塊區域。 - 程序結束后有系統釋放。注意:全局區又可分為未初始化全局區:.bss段和初始化全局區:data段。
4)、常量區—常量字符串就是放在這里的。 程序結束后由系統釋放
5)、代碼區—存放函數體的二進制代碼。