棧: 存放區域性變數,記憶體是由系統管理的------ (我得理解就是在函式中定義的變數)
堆: 用來存放物件的,它由程式設計師自己申請自己釋放,它的記憶體需要程式設計師自己管理------(oc中運用的多,因為它是物件導向的語言)
全域性區:存放全域性變數與靜態變數,記憶體由系統管理------ (定義在函式外部的變數,所有函式都可以使用)
常量區:用來存放常量的,記憶體是由系統管理的,它是唯讀區
**區:用來存放**的,記憶體是由系統管理的,它是唯讀區
//全域性變數:放在全域性區
int a = 1;
int main(int argc, const char * argv)
C 中的記憶體分割槽模型
一 概述 在c 程式中,一般會將程式的內容按型別分別儲存在四個區域內。這四個區域分別是 全域性資料區 區 堆區和棧區.各區域儲存的資料型別和特點 全域性資料區 由作業系統進行管理,用於存放全域性變數 全域性常量 字串常量以及靜態變數。區 由作業系統進行管理,用於存放各種函式體的二進位制 棧區 由編譯...
C 程式的記憶體分割槽
乙個程式本質上都是由.bss段 data段 text段三個組成的。data段包含三個部分 heap 堆 stack 棧 和靜態資料區。text段存放 區。bss裡面裝載了未被初始化的資料 如圖 示例如下 int a 0 全域性初始化區 靜態區 char p1 全域性未初始化區 bss段 int ma...
C 作用域 記憶體分割槽的彙總
1.1 auto 自動變數 一般情況下 塊內部定義的變數都是自動變數 棧變數 當然也可以顯示的使用auto關鍵字。1.2 register 暫存器變數 register int i 把變數放到 cpu的暫存器裡面 執行效率會更高,但取不到變數的位址 i會出錯 1.3 extern 關鍵字 exter...