自動儲存、靜態儲存和動態儲存

weixin_33978044發表於2017-04-18
1.自動儲存

1.在函式內部定義的常規變數使用自動儲存空間,被稱為自動變數,這意味著它們在所屬函式被呼叫時自動產生,在該函式結束時消亡。
2.自動變數就是一個區域性變數,通常儲存在棧中,它們的執行和釋放按照先進後出(LIFO)的方式來進行。

2.靜態儲存

1.靜態儲存是整個程式執行期間都存在的儲存方式;
2.使變數成為靜態的方式有兩種:在函式外面定義它、在宣告變數時使用static關鍵字

3.動態儲存

new和delete管理一個記憶體池,在C++中被稱為自由空間或堆,該記憶體池同靜態變數和自動變數的記憶體是分開的。new和delete可以在一個函式中分配記憶體,在另一個函式中釋放記憶體,生命週期不受函式限制。

相關文章