動態變數:int a;
靜態變數:static int a;
靜態變數,全域性動態變數都是靜態儲存,
儲存在全域性資料區,在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態儲存變數是一直存在的,只會初始化一次。
區域性動態變數是動態儲存,
動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,儲存在記憶體出棧資料區,使用完畢立即釋放
總結:靜態儲存,只初始化一次,每次呼叫從變化後的值繼續改變;動態儲存,每次呼叫都從初始值開始
1)在所有函式的外部定義(包括主函式),定義之後的所有函式都能使用,屬於靜態儲存
2)生命週期為從程式執行到程式退出,貫穿整個執行時間
3)無顯式初始化時預設初始化值為0
1)在函式內部定義,屬於動態儲存,作用於為當前函式
2)生命週期為從函式呼叫到函式退出
3)無顯式初始化時預設初始化值為隨機值
1)作用域為當前檔案,從定義位置到檔案結尾
2)生命週期為從程式執行到程式退出,即貫穿整個執行時間
3)無顯式初始化時預設初始化值為0
動態全域性變數可以通過extern關鍵字在外部檔案中使用,靜態全域性變數不可以在外部檔案中使用。
1)作用域為當前函式
2)生命週期為從程式執行到程式退出,即貫穿整個執行時間,當下次函式呼叫時,靜態區域性變數不會被再次初始化,而是沿用上次函式退出時的值
靜態變數與動態變數
1 靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態變數,全域性動態變數都是靜態儲存 2 動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放 3 靜態儲存變數是一直存在的,而動態儲存變數則時而存在時而消失。通常把由於變數儲存方式不同而產生的特性...
靜態變數與動態變數
1 靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。靜態變數,全域性動態變數都是靜態儲存 2 動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放 3 靜態儲存變數是一直存在的,而動態儲存變數則時而存在時而消失。通常把由於變數儲存方式不同而產生的特性...
靜態儲存與動態儲存
靜態儲存變數通常是在變數定義時就分定儲存單元並一直保持不變,直至整個程式結束。5.5.1節中介紹的全域性變數即屬於此類儲存方式。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被呼叫時,才予以分配,呼...