靜態變數,就是在定義的時候,有static修飾的變數,形式為staticTYPEvar_name=init_value;而動態變數,形式為TYPEvar_name=init_value;即沒有static修飾。其中的=init_value均可省略。區分定義在函式外的全域性變數,和函式內的區域性變數,作用域,生命週期,及無顯式初始化時的初始值,均有區別。1動態全域性變數:作用域為整個專案,即最終編譯成可執行檔案的所有檔案中均可以使用動態全域性變數。生命週期為從程式執行到程式退出,即貫穿整個執行時間。無顯式初始化時預設初始化值為0。2靜態全域性變數:作用域為當前檔案,從定義/宣告位置到檔案結尾。生命週期為從程式執行到程式退出,即貫穿整個執行時間。無顯式初始化時預設初始化值為0。3動態區域性變數:作用域為當前函式,從定義位置,到其所在的{}的結束位置。生命週期為從函式呼叫到函式退出。無顯式初始化時預設初始化值為隨機值。4靜態區域性變數:作用域為當前函式,從定義位置,到其所在的{}的結束位置。生命週期為從程式執行到程式退出,即貫穿整個執行時間,當下次函式呼叫時,靜態區域性變數不會被再次初始化,而是沿用上次函式退出時的值。無顯式初始化時預設初始化值為0。
靜態變數,就是在定義的時候,有static修飾的變數,形式為staticTYPEvar_name=init_value;而動態變數,形式為TYPEvar_name=init_value;即沒有static修飾。其中的=init_value均可省略。區分定義在函式外的全域性變數,和函式內的區域性變數,作用域,生命週期,及無顯式初始化時的初始值,均有區別。1動態全域性變數:作用域為整個專案,即最終編譯成可執行檔案的所有檔案中均可以使用動態全域性變數。生命週期為從程式執行到程式退出,即貫穿整個執行時間。無顯式初始化時預設初始化值為0。2靜態全域性變數:作用域為當前檔案,從定義/宣告位置到檔案結尾。生命週期為從程式執行到程式退出,即貫穿整個執行時間。無顯式初始化時預設初始化值為0。3動態區域性變數:作用域為當前函式,從定義位置,到其所在的{}的結束位置。生命週期為從函式呼叫到函式退出。無顯式初始化時預設初始化值為隨機值。4靜態區域性變數:作用域為當前函式,從定義位置,到其所在的{}的結束位置。生命週期為從程式執行到程式退出,即貫穿整個執行時間,當下次函式呼叫時,靜態區域性變數不會被再次初始化,而是沿用上次函式退出時的值。無顯式初始化時預設初始化值為0。