C 037 系統中的記憶體分割槽

2021-07-08 14:08:35 字數 373 閱讀 8876

棧:       存放區域性變數,記憶體是由系統管理的------  (我得理解就是在函式中定義的變數)

堆:       用來存放物件的,它由程式設計師自己申請自己釋放,它的記憶體需要程式設計師自己管理------(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...