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

c語(yǔ)言四種基本數(shù)據(jù)類(lèi)型 全局變量和靜態(tài)變量的區(qū)別?

全局變量和靜態(tài)變量的區(qū)別?局部變量與其他三個(gè)基本不同。局部變量在函數(shù)中定義,范圍是定義位置,以花括號(hào)結(jié)束。每次執(zhí)行definition語(yǔ)句時(shí),系統(tǒng)都會(huì)為變量分配內(nèi)存。當(dāng)作用域結(jié)束時(shí),內(nèi)存被釋放。其他三

全局變量和靜態(tài)變量的區(qū)別?

局部變量與其他三個(gè)基本不同。

局部變量在函數(shù)中定義,范圍是定義位置,以花括號(hào)結(jié)束。每次執(zhí)行definition語(yǔ)句時(shí),系統(tǒng)都會(huì)為變量分配內(nèi)存。當(dāng)作用域結(jié)束時(shí),內(nèi)存被釋放。

其他三個(gè)在系統(tǒng)運(yùn)行時(shí)分配內(nèi)存,直到程序結(jié)束才會(huì)釋放。

也就是說(shuō),局部變量和其他三個(gè)變量之間最明顯的區(qū)別如下:[1]不同的生命周期

2]不同的分配時(shí)間

3]不同的分配位置。

但是,其他三個(gè)在范圍上是相同的。

全局變量,整個(gè)項(xiàng)目的作用域,無(wú)論在哪個(gè)文件中,只要聲明就可以使用。

一個(gè)靜態(tài)全局變量,其作用域是定義變更量的文件。

靜態(tài)局部變量的作用域與公共局部變量的作用域相同。靜態(tài)全局變量是通過(guò)在全局變量聲明之前添加static來(lái)定義的。全局變量和靜態(tài)全局變量都是靜態(tài)存儲(chǔ)的;在存儲(chǔ)上沒(méi)有區(qū)別。區(qū)別在于它們的范圍。全局變量的范圍是整個(gè)源程序。當(dāng)源程序由多個(gè)源文件組成時(shí),全局變量在每個(gè)源程序文件中都是有效的。但是,靜態(tài)全局變量的作用域如何受到限制,并且只能在定義該變量的源文件中使用?不能使用同一程序中的其他源文件!靜態(tài)全局變量只初始化一次,以防止調(diào)用其他源文件!全局變量可以用其他源文件初始化

你明白嗎?

靜態(tài)變量和全局變量的區(qū)別?

理解變量的關(guān)鍵在于“存在范圍”和“范圍”這兩個(gè)概念。

“存在范圍”是指存儲(chǔ)變量的內(nèi)存空間存在的時(shí)間段。全局變量和靜態(tài)變量都在程序開(kāi)始時(shí)生成,并在程序結(jié)束時(shí)銷(xiāo)毀。

范圍是指變量可見(jiàn)的時(shí)間段,即可以識(shí)別的時(shí)間段。全局變量的作用域是程序運(yùn)行的全過(guò)程,靜態(tài)變量的作用域是變量的局部函數(shù)。在整個(gè)程序和函數(shù)外部,雖然存在靜態(tài)變量,但編譯器在寫(xiě)下它們的名稱(chēng)時(shí)無(wú)法識(shí)別它們。這就是區(qū)別。

關(guān)鍵是要理解存在與存在之間的區(qū)別。

全局變量跟靜態(tài)變量有什么不一樣?

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