日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言学习及应用笔记之六:C语言extern关键字及其使用

發布時間:2024/7/23 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言学习及应用笔记之六:C语言extern关键字及其使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在C語言中,修飾符extern用在變量或者函數的聲明前,用來以標識變量或者函數的定義在別的文件中,提示編譯器遇到此變量或者函數時,在其它文件中尋找其定義。extern關鍵字的用法有幾種,我們下面對其進行說明。

1、extern修飾變量的聲明

extern關鍵字可以用來修飾變量,表示該變量在別的文件中已有聲明。例如:我們在文件file1.c中聲明了變量int var,然后我們又需要再file2.c中使用該變量,則可在文件file2.c中聲明extern int var,就可在文件file2.c中使用該變量了。

佷顯然使用extern關鍵字修飾的變量都是全局變量,因為在其它文件中引用局部變量是不會有意義的,也超出了局部變量的作用域。

說到作用域,我們需要說明,盡管使用extern關鍵字修飾的變量,其原本都是全局變量,但如果extern int var聲明處于某一函數體內,那么其作用域就在函數體內。這其實與一般變量的作用域是相同的。

2、extern修飾函數聲明

從本質上來講,使用extern關鍵字函數和變量沒有什么區別。如果我們在文件file1.c中定義有函數void fun(int var),而我們在文件file2.c中想要應用,那么我們可以在file2.c中聲明extern void fun(int var),而使用則與在file1.c中并無區別。

當然,應用其它文件中的函數,更常用的方式是引用相應的頭文件。那么使用extern關鍵字與直接引用頭文件有什么不同呢?首先來講,引用頭文件是一種預處理,而extern聲明則應該是鏈接層面的實現。其次,對于大批量引用自然是使用頭文件比較方便,但如果我們只是使用個別函數,當然還是使用extern更為直接。

3、extern用來進行鏈接指定

extern用來進行鏈接指定一般用于混合編程,如果我們要在C++程序中調用C代碼,則我們就需要使用extern “C”來聲明,這樣連接器就會使用C的規范來鏈接這部分代碼。

4、 extern與static

從某種意義上來說,extern關鍵字與static關鍵字是相反的,extern關鍵字是聲明想要調用的外部變量和函數。而static關鍵字正好聲明為自己使用。當然使用static關鍵字聲明一個變量時,同時也定義了該變量。而extern聲明一個變量時,僅是聲明,因為該變量早已在其他地方定義。

歡迎關注:

總結

以上是生活随笔為你收集整理的C语言学习及应用笔记之六:C语言extern关键字及其使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。