js 全局變量 什么叫靜態(tài)變量?與動態(tài)變量的差別在哪?
什么叫靜態(tài)變量?與動態(tài)變量的差別在哪?動態(tài)變量和靜態(tài)變量之間的定義和區(qū)別如下:1。在定義中,靜態(tài)變量比動態(tài)變量多了一個關鍵字static,例如:dynamic variables:inti,stati
什么叫靜態(tài)變量?與動態(tài)變量的差別在哪?
動態(tài)變量和靜態(tài)變量之間的定義和區(qū)別如下:
1。在定義中,靜態(tài)變量比動態(tài)變量多了一個關鍵字static,例如:dynamic variables:inti,static variables:staticnti
2。在子例程中,動態(tài)變量每次被調用時都從零開始,原始數(shù)據(jù)不會被保留。當調用靜態(tài)變量時,原始值不會改變,例如:Main(){inti}For(I=0I<5i)fun()//fun1()}voidfun()//輸出結果為11111{intjj printf(%d,J)}voidfun 1()//輸出結果為12345{staticintjj printf(%d,J) }
靜態(tài)變量有什么特點?
靜態(tài)局部變量
它與局部變量的不同之處在于,當函數(shù)退出時,這個變量總是存在的,但不能被其他函數(shù)使用
最后的結果將被保存。其他變量與局部變量相同。
2. turboc2.0允許將一個大的程序劃分成幾個獨立的模塊文件分別編譯,然后將各個模塊的目標文件連接在一起,從而提高編譯速度,方便軟件的管理和維護。Static
全范圍變量是只在定義它的源文件中可見,而在其他源文件中不可見的變量。它與
full variable的區(qū)別在于full variable可以解釋為外部變量并由其他源文件使用,而靜態(tài)full variable不能解釋為外部變量,即只能由源文件使用。
靜態(tài)變量是什么意思?
靜態(tài)變量是指在全局存儲區(qū)域中分配的變量與全局變量分配在同一存儲區(qū)域中,這與在堆棧中分配的變量不同。靜態(tài)變量只在變量的范圍內可見,而全局變量則隨處可見。這就是靜態(tài)變量和全局變量之間的區(qū)別。例如:int aint func1(){static int b=0b}Return b}int func2(){int c=0C Return c}int main(){a=1/*b=1*/printf(%dn”,func1())printf(%dn”,func1())printf(%dn”,func2())printf(%dn”,func2())}其中a是全局變量,b是靜態(tài)變量,c是堆棧變量。a=1中沒有錯誤語句B=1是錯誤的,因為B只在func中可見。靜態(tài)變量B在程序運行時立即分配,并在程序完成后消失。靜態(tài)類型變量只初始化一次。因此,每次運行func1時,返回值都會增加1。但是,如何運行func2,返回值是1,因為C每次都被重新分配并初始化為0。程序的執(zhí)行結果是1211