#includeusing namespace std;
/* 一 記憶體分割槽模型
c++程式在執行時,將記憶體分為4個區域
1 **區
存放函式體的二進位制**,由os管理
2 全域性區
存放全域性變數、靜態變數、常量
3 棧區
由編譯器自動分配釋放,存放函式的引數、區域性變數等
4 堆區
由程式設計師分配和釋放,若程式設計師未釋放則程式結束時由os**
意義:不同區域的資料具有不同的生命週期,以靈活程式設計
*//*
1.1程式執行前
程式編譯後生成.exe可執行程式,在為執行該程式前**分為兩個區域:
**區共享、唯讀
全域性區該區域的資料在程式結束後由os釋放
*/// 2 全域性變數
int g_a = 10;
int g_b = 10;
// 4-2-2 const修飾的全域性變數(=全域性常量)
c 之記憶體模型
c 程式在執行時,將記憶體大方向劃分為4個區域 區 存放函式體的二進位制 由作業系統進行管理 你寫的 都轉化成二進位制 全域性區 存放全域性變數和靜態變數以及常量 棧區 由編譯器自動分配和釋放,存放函式的引數值,區域性變數等 堆區 由程式設計師分配和釋放,若程式設計師不釋放,程式結束時由作業系統 記...
C 之記憶體模型 記憶體區域
2.malloc calloc realloc底層實現原理 2.2 calloc底層實現原理 2.3 realloc底層實現原理 2.4 分配虛擬記憶體的細節 2.5 free函式實現原理 3.new delete底層實現 4.相關面試題 3.應用 1 棧上的分配極為簡單,移動一下棧指標而已。2 棧...
11 2 8重學C 之 靜態成員
include include includeusing namespace std 4.2 物件的初始化和清理 4.2.8 靜態成員 靜態成員變數 所有物件共享同乙份資料 在編譯階段分配記憶體 類內宣告,類外初始化 靜態成員函式 所有物件共享同一函式 靜態成員函式只能訪問靜態成員變數 class ...