回覆列表
  • 1 # nyfzs6690

    靜態變數,就是在定義的時候,有static 修飾的變數,形式為static TYPE var_name = init_value;而動態變數,形式為TYPE var_name = init_value;即沒有static 修飾。其中的=init_value均可省略。區分定義在函式外的全域性變數,和函式內的區域性變數,作用域,生命週期,及無顯式初始化時的初始值,均有區別。

    1 動態全域性變數:作用域為整個專案,即最終編譯成可執行檔案的所有檔案中均可以使用動態全域性變數。生命週期為從程式執行到程式退出,即貫穿整個執行時間。無顯式初始化時預設初始化值為0。

    2 靜態全域性變數:作用域為當前檔案,從定義/宣告位置到檔案結尾。生命週期為從程式執行到程式退出,即貫穿整個執行時間。無顯式初始化時預設初始化值為0。

    3 動態區域性變數:作用域為當前函式,從定義位置,到其所在的{}的結束位置。生命週期為從函式呼叫到函式退出。無顯式初始化時預設初始化值為隨機值。

    4 靜態區域性變數:作用域為當前函式,從定義位置,到其所在的{}的結束位置。生命週期為從程式執行到程式退出,即貫穿整個執行時間,當下次函式呼叫時,靜態區域性變數不會被再次初始化,而是沿用上次函式退出時的值。無顯式初始化時預設初始化值為0。

  • 中秋節和大豐收的關聯?
  • 美國目前在非洲地區的影響力如何?是否足以與老牌歐洲殖民國抗衡?