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

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

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

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

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

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

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

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

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

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

這段代碼輸出的值是100,因為當(dāng)局部變量與全局變量重名時,訪問的是局部變量。否則訪問的則是全局變量!

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

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

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

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

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

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

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

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

相關(guān)文章

  • c++中的前向聲明用法解讀

    c++中的前向聲明用法解讀

    這篇文章主要介紹了c++中的前向聲明用法解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • C指針原理教程之編譯原理-小型計算器實現(xiàn)

    C指針原理教程之編譯原理-小型計算器實現(xiàn)

    本文給大家分享的是如何使用C語言編寫一個小型計算器的實例代碼,有需要的小伙伴可以參考下
    2019-02-02
  • C++11新特性中auto 和 decltype 區(qū)別和聯(lián)系

    C++11新特性中auto 和 decltype 區(qū)別和聯(lián)系

    這篇文章主要介紹了C++11新特性中auto 和 decltype 區(qū)別和聯(lián)系的相關(guān)資料,需要的朋友可以參考下
    2017-01-01
  • C++中智能指針unique_ptr的實現(xiàn)詳解

    C++中智能指針unique_ptr的實現(xiàn)詳解

    智能指針本質(zhì)上并不神秘,其實就是?RAII?資源管理功能的自然展現(xiàn)而已,這篇文章主要為大家詳細(xì)介紹了如何實現(xiàn)?C++中智能指針的?unique_ptr,需要的可以了解下
    2024-01-01
  • Qt基礎(chǔ)開發(fā)之Qt多線程類QThread與Qt定時器類QTimer的詳細(xì)方法與實例

    Qt基礎(chǔ)開發(fā)之Qt多線程類QThread與Qt定時器類QTimer的詳細(xì)方法與實例

    這篇文章主要介紹了Qt基礎(chǔ)開發(fā)之Qt多線程類QThread與Qt定時器類QTimer的詳細(xì)方法與實例,需要的朋友可以參考下
    2020-03-03
  • C++實例講解四種類型轉(zhuǎn)換的使用

    C++實例講解四種類型轉(zhuǎn)換的使用

    在C++語言中新增了四個關(guān)鍵字static_cast、const_cast、reinterpret_cast和dynamic_cast。這四個關(guān)鍵字都是用于類型轉(zhuǎn)換的,類型轉(zhuǎn)換(type cast),是高級語言的一個基本語法。它被實現(xiàn)為一個特殊的運算符,以小括號內(nèi)加上類型名來表示,接下來讓我們一起來詳細(xì)了解
    2022-06-06
  • Qt實現(xiàn)簡單的TCP通信

    Qt實現(xiàn)簡單的TCP通信

    這篇文章主要為大家詳細(xì)介紹了Qt實現(xiàn)簡單的TCP通信,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • QT5中使用QRegularExpression代替QRegExp方法代碼

    QT5中使用QRegularExpression代替QRegExp方法代碼

    這篇文章主要給大家介紹了關(guān)于QT5中使用QRegularExpression代替QRegExp的相關(guān)資料,正則表達(dá)式(regep)是處理字符串和文本的強大工具,驗證regexp可以測試子字符串是否滿足某些條件,例如是整數(shù)或不包含空格,需要的朋友可以參考下
    2024-04-04
  • 使用C語言操作文件的基本函數(shù)整理

    使用C語言操作文件的基本函數(shù)整理

    這篇文章主要介紹了使用C語言操作文件的基本函數(shù)整理,包括創(chuàng)建和打開以及關(guān)閉文件的操作方法,需要的朋友可以參考下
    2015-08-08
  • 淺析_tmain()與main()的區(qū)別

    淺析_tmain()與main()的區(qū)別

    _tmain()是為了支持unicode所使用的main一個別名,既然是別名,應(yīng)該有宏定義過的,在哪里定義的呢?就在那個讓你困惑的<stdafx.h>里
    2013-03-03

最新評論