靜態(tài)內(nèi)存分配:在編譯時就確定分配的內(nèi)存大小,存儲在靜態(tài)存儲區(qū),生命周期在程序運(yùn)行期間都不變化。
堆內(nèi)存分配:在運(yùn)行時動態(tài)分配內(nèi)存,使用new和delete關(guān)鍵字來控制內(nèi)存的分配和釋放,需要程序員手動管理內(nèi)存的分配和釋放,易產(chǎn)生內(nèi)存泄漏和內(nèi)存溢出問題。
棧內(nèi)存分配:在函數(shù)調(diào)用時分配內(nèi)存,在函數(shù)返回時釋放內(nèi)存,存儲在棧區(qū),生命周期和作用域與函數(shù)相關(guān),自動管理內(nèi)存的分配和釋放。
全局/靜態(tài)內(nèi)存分配:在程序啟動時分配固定大小的內(nèi)存空間,生命周期和程序運(yùn)行期間一致,存儲在全局?jǐn)?shù)據(jù)區(qū)或靜態(tài)存儲區(qū)。