在申請內存時總是申請固定大小的內存,則稱此內存是靜態分配的。前面提出的定義變量時,編譯器幫我們從棧上分配的內存就屬于靜態分配
根據用戶輸入的不同而可能申請不同大小的內存時,則稱此內存是動態分配的,后面說的從堆上分配就屬于動態分配。
同樣,靜態分配的內存利用率不高或運用不夠靈活,但代碼容易編寫且運行速度較快;動態分配的內存利用率高,不過編寫代碼時要復雜些,需自己處理內存的管理(分配和釋放)且由于這種管理的介入而運行速度較慢并代碼長度增加。
靜態和動態的意義不僅僅如此,其有很多的深化,如硬編碼和軟編碼、緊耦合和松耦合,都是靜態和動態的深化。