靜態儲存 動態儲存 靜態變數與動態變數

2021-10-01 12:49:36 字數 693 閱讀 4940

動態變數: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節中介紹的全域性變數即屬於此類儲存方式。動態儲存變數是在程式執行過程中,使用它時才分配儲存單元,使用完畢立即釋放。典型的例子是函式的形式引數,在函式定義時並不給形參分配儲存單元,只是在函式被呼叫時,才予以分配,呼...