c語言static變量可以修改嗎 C語言靜態(tài)局部變量和全局變量有什么區(qū)別?
C語言靜態(tài)局部變量和全局變量有什么區(qū)別?靜態(tài)變量是一個靜態(tài)修改的變量,當它被定義時,以靜態(tài)類型varuName=inituValue的形式,動態(tài)變量以類型varuName=inituValue的形式表
C語言靜態(tài)局部變量和全局變量有什么區(qū)別?
靜態(tài)變量是一個靜態(tài)修改的變量,當它被定義時,以靜態(tài)類型varuName=inituValue的形式,動態(tài)變量以類型varuName=inituValue的形式表示沒有靜態(tài)修改。其中=初始值可以省略。區(qū)分函數外部定義的全局變量和函數內部沒有顯式初始化的局部變量、作用域、生命周期和初始值。
動態(tài)全局變量:作用域是整個項目,即編譯成可執(zhí)行文件的所有文件都可以使用動態(tài)全局變量。生命周期是從程序運行到程序退出的過程,貫穿于程序運行的全過程。沒有顯式初始化時,默認初始化值為0。
2靜態(tài)全局變量:范圍是從定義/聲明位置到文件結尾的當前文件。生命周期是從程序運行到程序退出的過程,貫穿于程序運行的全過程。沒有顯式初始化時,默認初始化值為0。
動態(tài)局部變量:范圍是當前函數,從定義的位置到{}的結束位置。生命周期是從函數調用到函數退出。當沒有顯式初始化時,默認的初始化值是random。
靜態(tài)局部變量:范圍是當前函數,從定義的位置到{}的結束位置。生命周期是從程序運行到程序退出,即貫穿整個運行時間。在下一次函數調用時,靜態(tài)局部變量不會再次初始化,但將使用最后一個函數exit的值。沒有顯式初始化時,默認初始化值為0。