當使用extern關鍵字修飾變數(未初始化),表示變數宣告。
當在另乙個檔案中,為extern關鍵字修飾的變數賦值時,表示變數定義。
宣告在標頭檔案裡面,定義的檔案裡面包含有該宣告的標頭檔案。
header.**件如下:
#ifndef header_h
#define header_h
//定義global_x變數 ,在任何包含了該檔案的檔案中都可以使用global_x變數
int global_x = 20;
#endif
主程式如下:
#include
#include "header.h"
extern int global_x;//宣告 global_x 變數
int main()
是一種間接呼叫的關係吧。
C 變數宣告(extern用法總結)
變數宣告向編譯器保證變數以給定的型別和名稱存在,這樣編譯器在不需要知道變數完整細節的情況下也能繼續進一步的編譯。變數宣告只在編譯時有它的意義,在程式連線時編譯器需要實際的變數宣告。當使用多個檔案且只在其中乙個檔案中定義變數時 定義變數的檔案在程式連線時是可用的 變數宣告就顯得非常有用。您可以使用ex...
C 中的extern宣告變數詳解
extern宣告變數無外乎如下兩種 1 宣告全域性變數 2 宣告函式 今天我們只談extern,什麼const static之類等等與之相關或不相關的一律忽略,下面就分別對以上兩種情況一一講解 宣告和定義 既然提到extern宣告變數,那我們就必須搞清楚宣告和定義的區別。這裡我們將普通資料變數和函式...
extern宣告跨檔案變數
file dog.h class dog int leg static int num1 定義靜態成員變數 file dog.cpp include dog.h int num2 static int num3 定義靜態成員變數,num3僅限於本檔案使用 file main.cpp include ...