1. 程式人生 > >靜態函式,靜態(區域性)變數,普通函式,普通變數,普通全域性變數

靜態函式,靜態(區域性)變數,普通函式,普通變數,普通全域性變數

static 

靜態變數,普通變數和全域性變數,靜態區域性變數

靜態變數:程式級別的變數,生命週期是整個程式,在程式結束後釋放

普通變數:作用域為當前函式,當前會話,或者當前檔案,離開後自動釋放

全域性變數:作用於整個工程,自動分配

靜態區域性變數:;靜態區域性變數只在定義的函式內有效,程式只分配一次記憶體,函式返回後,該變數值不會變化。

靜態函式和普通函式

靜態函式:靜態函式只能在本檔案中使用,是檔案的內部函式

普通函式:普通函式則是為整個工程,要實現外部呼叫新增extern即可 

儲存位置

全域性變數、靜態全域性變數和靜態區域性變數都存放在記憶體的靜態儲存區域

區域性變數存放在記憶體的棧區

堆和棧特點

棧:由系統自動分配,速度較快。但程式設計師是無法控制的,棧獲得的空間較小. 堆:是由,malloc,new分配的記憶體,一般速度比較慢,而且容易產生記憶體碎片,不過用起來最方便.