網站首頁 學習教育 IT科技 金融知識 旅遊規劃 生活小知識 家鄉美食 養生小知識 健身運動 美容百科 遊戲知識 綜合知識
當前位置:趣知科普吧 > IT科技 > 

extern關鍵字的作用

欄目: IT科技 / 發佈於: / 人氣:2.3W

extern關鍵字的作用是extern是指當前變量或函數不是本源檔案內聲明的,它是外部變量和外部函數。當我們在本檔案中試圖引用一個外部聲明的全局變量或者函數的時候,可以在其前面加上extern。

extern關鍵字的作用


  extern可以修飾變量和函數,表示該變量或函數在其他的地方被定義(本源檔案或其他源檔案),在這裏聲明使用它,這樣多個源檔案共享變量和函數;多個C源檔案的編譯是獨立的,所以編譯器無法判斷多個源檔案共享的變量的類型是否一致(只能判斷變量名和函數名是否一致);等到連結的時候(這個階段已經不再進程語法檢查了),多個源檔案編譯後的。O檔案連結成一個目標檔案,如果有一個以上源檔案對同一變量進行了初始化則報錯。
  
  1、extern變量名,在任何函數體外聲明或定義變量時,不加extern可能是定義也可能是聲明,編譯器選擇初始化的那個(最多一個地方對它進行了初始化),如果沒有初始化則任選其中一個作爲定義,其他爲聲明,但是加extern肯定是聲明;如果不想讓其它源檔案連結到,則需要使用static關鍵字。
  
  2、extern 函數,函數默認是外部的(在函數體內或函數體外聲明一個外部函數,extern關鍵字均可以省略)如果不想讓其他源檔案連結到,在函數前加static關鍵字。在寫程序的時候一定要注意外部函數的參數類型、參數個數和返回值類型,最好保持一致
  
  宏觀的理解:透過上面的分心來看,C程序裏,透過函數將功能區分開來。每個函數完成一個功能,而又將一片相關聯的功能集合在一個源程序裏,這些功能和相關聯的功能之間通常要有聯繫,而這種練習就是透過static和extern進行聯繫的。
  
  

Tags:關鍵字 extern