記憶體分割槽:
1)、棧區
(stack)— 由編譯器自動分配釋放 ,存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。
2)、堆區
(heap) — 一般由程式設計師分配釋放, 若程式設計師不釋放,程式結束時可能由os** 。(ios中alloc都是存放在堆中)
3)、全域性區
(靜態區)(static)—,全域性變數和靜態變數的儲存是放在一塊的,初始化的全域性變數和靜態變數在一塊區域, 未初始化的全域性變數和未初始化的靜態變數在相鄰的另一塊區域。 - 程式結束後有系統釋放。注意:全域性區又可分為未初始化全域性區:.bss段和初始化全域性區:data段。
4)、常量區
—常量字串就是放在這裡的。 程式結束後由系統釋放
5)、**區
—存放函式體的二進位制**。
iOS記憶體分配
一 記憶體分割槽 棧區 stack 由編譯器自動分配並釋放,存放函式的引數值,區域性變數等。棧是系統資料結構,對應執行緒 程序是唯一的。優點是快速高效,缺點時有限制,資料不靈活。先進後出 棧空間分靜態分配 和動態分配兩種。靜態分配是編譯器完成的,比如自動變數 auto 的分配。動態分配由alloca...
IOS中記憶體的分配
記憶體分割槽 1 棧區 stack 由編譯器自動分配釋放 存放函式的引數值,區域性變數的值等。其操作方式類似於資料結構中的棧。2 堆區 heap 一般由程式設計師分配釋放,若程式設計師不釋放,程式結束時可能由os ios中alloc都是存放在堆中 3 全域性區 靜態區 static 全域性變數和靜態...
iOS開發 記憶體管理之記憶體分配
下面舉個例子說明下 nsstring string string nsstring alloc initwithstring hello ios 這裡string其實就是乙個指標,oc中除了基本資料型別之外的變數型別都是指標型別,oc物件都是通過指標進行操作的。第一段 定義了nsstring型別的指...