C++ extern

來源:互聯網
上載者:User

extern是C/C++語言中表明函數和全域變數作用範圍(可見度)的關鍵字,該關鍵字告訴編譯器,其聲明的函數和變數可以在本模組或其它模組中使用。記住,下列語句:

  extern int a;

僅僅是一個變數的聲明,其並不是在定義變數a,並未為a分配記憶體空間。變數a在所有模組中作為一種全域變數只能被定義一次,否則會出現串連錯誤。

通常,在模組的標頭檔中對本模組提供給其它模組引用的函數和全域變數以關鍵字extern聲明。例如,如果模組B欲引用該模組A中定義的全域變數和函數時只需包含模組A的標頭檔即可。這樣,模組B中調用模組A中的函數時,在編譯階段,模組B雖然找不到該函數,但是並不會報錯;它會在串連階段中從模組A編譯產生的目標代碼中找到此函數。與extern對應的關鍵字是static,被它修飾的全域變數和函數只能在本模組中使用。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.