C 五大記憶體分割槽

2021-07-30 10:42:35 字數 523 閱讀 4757

五大記憶體分割槽 

在c++中,記憶體分成5個區,他們分別是堆、棧、自由儲存區、全域性/靜態儲存區和常量儲存區。棧

就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。

裡面的變數通常是區域性變數、函式引數等。  堆

就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,

一般乙個new就要對應乙個delete。如果程式設計師沒有釋放掉,那麼在程式結束後,

作業系統會自動**。 

自由儲存區

就是那些由malloc等分配的記憶體塊,他和堆是十分相似的,不過它是用free來結束自己的生命的。

全域性/靜態儲存區

全域性變數和靜態變數被分配到同一塊記憶體中,在以前的c語言中,全域性變數又分為初始化的和未初始化的,

在c++裡面沒有這個區分了,他們共同占用同一塊記憶體區。

常量儲存區

這是一塊比較特殊的儲存區,他們裡面存放的是常量,不允許修改

int n=5;

C 五大記憶體分割槽

c 五大記憶體分割槽 在c 中,記憶體分成5個區,他們分別是堆 棧 自由儲存區 全域性 靜態儲存區和常量儲存區。棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用...

五大記憶體分割槽

在c 中,記憶體分成5個區,他們分別是堆 棧 自由儲存區 全域性 靜態儲存區和常量儲存區。棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般乙個n...

五大記憶體分割槽

五大記憶體分割槽 在c 中,記憶體分成5個區,他們分別是堆 棧 自由儲存區 全域性 靜態儲存區和常量儲存區。棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式...