天天看點

4.8.4 自動存儲、靜态存儲和動态存儲

1. 自動存儲

“在函數内部定義的正常變量使用自動存儲空間,被稱為自動變量,這意味着它們在所屬的函數被調用時自動産生,在該函數結束時消亡。”

“實際上,自動變量是一個局部變量,其作用域為包含它的代碼塊。代碼塊是被包含在花括号中的一段代碼。”

2. 靜态存儲

“靜态存儲是整個程式執行期間都存在的存儲方式。使變量成為靜态的方式有兩種:一種是在函數外面定義它;另一種是在聲明變量時使用關鍵字static。”

“3. 動态存儲”

“動态存儲有時也叫作自由存儲空間或堆。”

“動态存儲管理了一個記憶體池,這在C++中被稱為自由存儲空間。記憶體池同用于靜态變量和自動變量的記憶體是分開的。”

“與使用正常變量相比,使用new和delete使程式員對程式如何使用記憶體有更大的控制權。”

繼續閱讀