C語言中變數的儲存類別一:按作用域劃分1、區域性變數:自動區域性變數、靜態區域性變數、暫存器變數。(區域性可見性)2、全域性變數:靜態外部變數、外部變數。(全域性可見性)二:按生存期劃分1、動態儲存:自動變數、暫存器變數、形式引數。(生存時間只限於其作用範圍)2、靜態儲存:靜態區域性變數、靜態外部變數、外部變數。(生存時間為從定義開始直到程式退出(檔案結束)。)三:按變數值儲存的位置劃分:1、靜態儲存區:靜態區域性變數、靜態外部變數、外部變數。2、動態儲存區:自動變數和形參。3、CPU中的暫存器:暫存器變數。記憶體的分配:


程式區:儲存程式和常量。靜態儲存區:儲存全域性變數和靜態變數。一旦分配空間給變數,不可被釋放,直到程式結束自動釋放。動態儲存區(棧):自動變數和形參,函式的現場儲存等。由系統自動管理,自動分配,自動收回。動態分配區(堆):自由儲存區,只能通過new malloc等動態分配,由使用者自由申請,在程式結束之前,如果使用者不主動釋放(通過free delete釋放),那麼申請的儲存空間一直不會被釋放,程式結束時由OS收回。