成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

形參和實參舉例 什么是靜態(tài)變量,靜態(tài)變量=全局變量,動態(tài)變量=局部變量嗎?

什么是靜態(tài)變量,靜態(tài)變量=全局變量,動態(tài)變量=局部變量嗎?局部變量與其他三個基本不同。局部變量在函數(shù)中定義,范圍是定義位置,以花括號結(jié)束。每次執(zhí)行definition語句時,系統(tǒng)都會為變量分配內(nèi)存。當

什么是靜態(tài)變量,靜態(tài)變量=全局變量,動態(tài)變量=局部變量嗎?

局部變量與其他三個基本不同。局部變量在函數(shù)中定義,范圍是定義位置,以花括號結(jié)束。每次執(zhí)行definition語句時,系統(tǒng)都會為變量分配內(nèi)存。當作用域結(jié)束時,內(nèi)存被釋放。另外三個在系統(tǒng)運行時分配內(nèi)存,直到程序結(jié)束才會釋放。也就是說,局部變量與其他三個變量最明顯的區(qū)別是:[1]不同的生命周期

2]不同的分配時間

3]不同的分配位置。然而,其他三個在范圍上是相同的。全局變量,整個項目的作用域,無論在哪個文件中,只要聲明就可以使用。一個靜態(tài)全局變量,其作用域是定義變更量的文件。靜態(tài)局部變量的作用域與普通局部變量的作用域相同。它們都是從定義位置到括號的末尾

靜態(tài)變量,它們是定義時用靜態(tài)修改的變量。形式是靜態(tài)類型var_u2;name=init_2;Value,形式為var_2;name=init_2;Value的動態(tài)變量表示沒有靜態(tài)修改。其中=初始值可以省略。區(qū)分函數(shù)外部定義的全局變量和函數(shù)內(nèi)部沒有顯式初始化的局部變量、作用域、生命周期和初始值。

動態(tài)全局變量:作用域是整個項目,即編譯成可執(zhí)行文件的所有文件都可以使用動態(tài)全局變量。生命周期是從程序運行到程序退出的過程,貫穿于程序運行的全過程。沒有顯式初始化時,默認初始化值為0。

2靜態(tài)全局變量:范圍是從定義/聲明位置到文件結(jié)尾的當前文件。生命周期是從程序運行到程序退出的過程,貫穿于程序運行的全過程。沒有顯式初始化時,默認初始化值為0。

動態(tài)局部變量:范圍是當前函數(shù),從定義的位置到{}的結(jié)束位置。生命周期是從函數(shù)調(diào)用到函數(shù)退出。當沒有顯式初始化時,默認的初始化值是random。

靜態(tài)局部變量:范圍是當前函數(shù),從定義的位置到{}的結(jié)束位置。生命周期是從程序運行到程序退出,即貫穿整個運行時間。在下一次函數(shù)調(diào)用時,靜態(tài)局部變量不會再次初始化,但將使用最后一個函數(shù)exit的值。沒有顯式初始化時,默認初始化值為0。

C語言靜態(tài)局部變量和全局變量有什么區(qū)別?

//定義位置的差異:static int a//global variable void show(){int b//local variable static int static global variable:只要程序系統(tǒng)正在運行,那么寄存器及其值就不會被自動清除,而靜態(tài)局部變量可以用在任何函數(shù)中:只要程序系統(tǒng)在運行,那么寄存器及其值就不會自動清除,只有靜態(tài)全局變量可以用在定義的函數(shù)范圍內(nèi):只有在函數(shù)運行時,寄存器及其值在函數(shù)結(jié)束時被自動清除,并且只能在定義的函數(shù)范圍內(nèi)使用

(1)靜態(tài)局部變量在函數(shù)中定義,但與自動變量不同,它們在調(diào)用時存在,在退出函數(shù)時消失。靜態(tài)局部變量總是存在的,也就是說,它的生命周期就是整個源程序。(2) 雖然靜態(tài)局部變量的生存期是整個源程序,但它的作用域仍然與自動變量的作用域相同,即只能用于定義變量的函數(shù)中。退出函數(shù)后,雖然變量繼續(xù)存在,但不能使用。(3) 對于基本類型的靜態(tài)局部變量,如果初始值未賦值,系統(tǒng)將自動賦值為0。如果自動變量沒有給定初始值,則其值是不確定的。根據(jù)靜態(tài)局部變量的特點,可以看出它是一種以整個源文件為生命周期的量。雖然在離開定義它的函數(shù)后不能使用它,但是如果再次調(diào)用定義它的函數(shù),并且保存上次調(diào)用后留下的值,則可以繼續(xù)使用它。因此,當一個函數(shù)被多次調(diào)用并且在調(diào)用之間需要保留一些變量的值時,可以考慮靜態(tài)局部變量。雖然使用全局變量也可以達到上述目的,但全局變量有時會產(chǎn)生意想不到的副作用(特別是短全局變量的污染),因此使用局部靜態(tài)變量仍然是合適的。總之,靜態(tài)局部變量和全局變量最明顯的區(qū)別是全局變量的所有函數(shù)定義后都可以使用,而靜態(tài)局部變量只能在一個函數(shù)中使用。