c 記憶體分割槽模型

2022-10-09 19:30:18 字數 434 閱讀 5932

**區:存放所有**的二進位制

全域性區,存放全域性變數,靜態變數,常量

棧區,編譯器自動分配與釋放,存放函式引數值和區域性變數,隨函式結束而釋放

堆區,有程式設計師進行分配與釋放,或者函式結束時自動釋放

不同區域用於存放那個不同的資料,有不同的生命週期

在程式編寫完,編譯後,生成exe檔案,這時已經出現兩個區域,**區和全域性區,**區存放cpu執行的機器指令,自身是共享的和唯讀的,全域性區存放全域性變數,靜態變數常量(字串常量,全域性常量)這些,存在於程式執行的所有過程,直到程式結束,棧區和堆區是在程式正式執行時才生成的。

靜態變數:static 資料型別 變數名 = 變數值,存在全域性區

字串常量,不是string定義的變數,而是「」直接包圍的常量,存在全域性區

const 修飾的變數,如果修飾全域性變數,存在全域性區,如果修飾區域性變數,不存在全域性區

C 記憶體分割槽模型

c 程式在執行時,將記憶體大方向劃分為4個區域 區 存放函式體的二進位制 由作業系統進行管理的 全域性區 存放全域性變數和靜態變數以及常量 棧區 由編譯器自動分配釋放,存放函式的引數值,區域性變數等 堆區 由程式設計師分配和釋放,若程式設計師不釋放,程式結束時由作業系統 位址高低 棧區 堆區 全域性...

C 基礎 記憶體模型記憶體分割槽模型

區 存放函式體的二進位制 由作業系統進行管理 全域性區 存放全域性變數和靜態變數以及常量 棧區 由編譯器自動分配釋放,存放函式的引數值 區域性變數等 堆區 由程式設計師分配和釋放,若程式設計師不釋放,程式結束時由作業系統 存放cpu執行的機器指令,區是共享的,只有乙份 是唯讀的。存放全域性變數 定義...

c 學習之記憶體分割槽模型

c 程式在執行時,將記憶體大致分為4個取區域。區 存放函式體的二進位制 由作業系統進行管理。全域性區 存放全域性變數和靜態變數以及常量 棧區 由編譯器自動分配釋放,存放函式的引數值 區域性變數等 堆區 由程式設計師分配和釋放,若程式設計師不釋放,則程式結束時由作業系統 在程式編譯後,生成了.exe可...