c語言全局變量和局部變量 C語言怎么定義一個全局變量?
C語言怎么定義一個全局變量?1. 記住在函數(shù)外定義的變量是全局變量就足夠了。用static修改的變量可以是全局的,也可以是局部的,所以說用static修改的變量是全局的是錯誤的。靜態(tài)變量的生命周期與全
C語言怎么定義一個全局變量?
1. 記住在函數(shù)外定義的變量是全局變量就足夠了。用static修改的變量可以是全局的,也可以是局部的,所以說用static修改的變量是全局的是錯誤的。靜態(tài)變量的生命周期與全局變量的生命周期相同,但可見性仍分為全局變量和局部變量。2全局變量可以在整個C文件中使用,而局部變量只能在其作用域中使用。例如:int f=7//這是全局變量int myadd(int a,int b){int c=a,b//c是局部變量。Return C}int main(void){printf(%dn”,C)//只能在myadd中使用,因為C是myadd中定義的局部變量,這里會報告一個錯誤。Printf(%dn“,f)//f是全局變量。}
C語言靜態(tài)局部變量和全局變量有什么區(qū)別?
靜態(tài)變量是在定義時進(jìn)行靜態(tài)修改的變量,其形式為靜態(tài)類型varuName=inituValue,動態(tài)變量的形式為varuName=inituValue,表示無靜態(tài)修改。其中init=0值可以省略。區(qū)分函數(shù)外部定義的全局變量和函數(shù)內(nèi)部沒有顯式初始化的局部變量、作用域、生命周期和初始值。
動態(tài)全局變量:作用域是整個項目,即編譯成可執(zhí)行文件的所有文件都可以使用動態(tài)全局變量。生命周期是從程序運行到程序退出的過程,貫穿于程序運行的全過程。沒有顯式初始化時,默認(rèn)初始化值為0。
2靜態(tài)全局變量:范圍是從定義/聲明位置到文件結(jié)尾的當(dāng)前文件。生命周期是從程序運行到程序退出的過程,貫穿于程序運行的全過程。沒有顯式初始化時,默認(rèn)初始化值為0。
動態(tài)局部變量:范圍是當(dāng)前函數(shù),從定義的位置到{}的結(jié)束位置。生命周期是從函數(shù)調(diào)用到函數(shù)退出。當(dāng)沒有顯式初始化時,默認(rèn)的初始化值是random。
靜態(tài)局部變量:范圍是當(dāng)前函數(shù),從定義的位置到{}的結(jié)束位置。生命周期是從程序運行到程序退出,即貫穿整個運行時間。在下一次函數(shù)調(diào)用時,靜態(tài)局部變量不會再次初始化,但將使用最后一個函數(shù)exit的值。沒有顯式初始化時,默認(rèn)初始化值為0。