C語言可編程內存——靜態存儲區,堆區和棧區

靜態存儲區:內存在程序編譯時已經分配好,這塊內存在程序整個執行過程中都存在,主要存放靜態數據全局數據常量
棧區:在執行函數時,函數內部局部變量的存儲單元都在棧上創建,函數執行結束時這些存儲單元會被自動釋放,棧內存分配運算內置於處理器的指令集,效率很高,但是容量有限。
堆區:也稱爲動態內存分配,程序在運行時用malloc或者new申請任意大小的內存,程序員自己負責在適當的時候用free或者delete釋放掉。程序將在最後才釋放掉動態內存。 但是,良好的編程習慣是:如果某動態內存不再使用,需要將其釋放掉,否則,我們認爲發生了內存泄漏現象。
代碼區:存放函數體的二進制代碼
文字常量區:常量字符串就是放在這裏的。 程序結束後由系統釋放

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章