**區:存放函式體的二進位制**
,由作業系統進行管理的
全域性區:存放全域性變數
和靜態變數
以及常量
棧區:由編譯器自動分配釋放,存放函式的引數值
,區域性變數
等
堆區:由程式設計師分配
和釋放
,若程式設計師不釋放,程式結束時由作業系統**
記憶體分割槽的意義:
不同的區域存放的資料,賦予不同的生命週期,給我們更大的靈活程式設計
**區
全域性區
棧區
堆區
以二進位制機器指令**的形式存放於記憶體中
#include
using
namespace std;
//全域性區:全域性變數 靜態變數 常量(字串常量,全域性常量)
//全域性變數:定義在函式體外面
int g_a =10;
int g_b =10;
//全域性常量
const
int c_g_a =10;
const
int c_g_b =10;
intmain()
#include
using namespace std;
//棧區:函式引數值 區域性變數 常量(區域性常量)
intfunc
(int x,
int y)
intmain
(int argc,
char
* ar**)
#include
using
namespace std;
//堆區:開闢堆區(new)和釋放堆區(delete)
intmain()
for(
int i =
0; i <
10; i++
)delete arra;
}
c 程式的記憶體模型
記憶體分為四個區域,不同區域存放的資料賦予不同的生命週期,靈活程式設計 區 存放函式體的二進位制 由作業系統進行管理 全域性區 存放全域性變數以及常量,由作業系統釋放 棧區 存放函式的引數值,區域性變數,由編譯器自動分配釋放 堆區 由程式設計師分配和釋放,若程式設計師不釋放,程式結束時由作業系統 共...
C 程式的記憶體模型
c 的個人學習之路!認識記憶體模型,才能更好的理解cpp物件導向的實現 c 的記憶體可以劃分為四個大區域 意義 不同區域存放的資料,賦予不同的生命週期,提高程式設計的靈活性。程式編譯後,生成了可執行程式,該程式為執行前分為兩個區域 這兩個區域執行前就已經被系統劃分存在了,所以在任何時刻區域的資料被讀...
C 程式設計 程式的記憶體模型
記憶體分割槽模型為4個區 區 存放函式的二進位制 由作業系統進行管理,存放cpu執行的機器指令,區是共享的 共享的目的是對於頻繁被執行的程式,只需要在記憶體中有乙份 即可 區是唯讀的 防止程式意外地修改它的指令 全域性區 存放全域性變數和靜態變數及常量,常量包括字串常量和const修飾的常量 棧區 ...