欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++中的局部變量、全局變量、局部靜態(tài)變量、全局靜態(tài)變量的區(qū)別

 更新時(shí)間:2017年02月15日 10:39:18   作者:BrokenHeart  
本文主要介紹了C++中的局部變量、全局變量、局部靜態(tài)變量、全局靜態(tài)變量的區(qū)別。具有很好的參考價(jià)值,下面跟著小編一起來看下吧

局部變量(Local variables)與 全局變量:

在子程序或代碼塊中定義的變量稱為局部變量,在程序的一開始定義的變量稱為全局變量。

全局變量作用域是整個(gè)程序,局部變量作用域是定義該變量的子程序或代碼塊。

當(dāng)全局變量與局部變量同名時(shí):在定義局部變量的子程序內(nèi),局部變量起作用;在其它地方全局變量起作用。

全局變量在程序開始運(yùn)行期間就已經(jīng)在內(nèi)存中開辟了內(nèi)存空間,直到程序結(jié)束才會釋放這塊內(nèi)存空間。

全局變量要在其他文件中使用,需顯示的聲明這個(gè)變量,使用extern關(guān)鍵字聲明(extern int nData;)。

int nData = 10;  // 這是一個(gè)全局變量
int main()
{
  int i = 0;  // 這是一個(gè)局部變量,這個(gè)變量只在main函數(shù)中有效。
  int nData = 100;  // 這也是一個(gè)局部變量,但是這個(gè)局部變量與全局變量重名了,那么如果訪問nData這個(gè)變量的時(shí)候到底訪問的是哪個(gè)?
  cout << nData << endl;
  return 0;
}

這段代碼輸出的值是100,因?yàn)楫?dāng)局部變量與全局變量重名時(shí),訪問的是局部變量。否則訪問的則是全局變量!

局部靜態(tài)變量:

局部static變量與全局變量一樣,在程序開始運(yùn)行期間就已經(jīng)在內(nèi)存中開辟了空間,直到程序結(jié)束才會釋放這塊內(nèi)存空間。

一個(gè)局部static變量只定義/初始化一次,后序都不再定義或初始化。

局部static變量只能在定義的子程序或代碼塊中訪問,不能在外部訪問,所以叫局部靜態(tài)變量。

全局靜態(tài)變量:

全局static變量與局部static變量一樣,在程序開始運(yùn)行期間就分配了內(nèi)存地址。

局部static變量只能在定義的代碼塊中被訪問,而全局static變量只能在定義的文件中被訪問。不能跨文件訪問。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

最新評論