C語言中的extern關鍵字用于聲明一個變量或函數是在其他文件中定義的,表示該變量或函數的定義在其他文件中,當前文件中只是引用。extern關鍵字的作用是告訴編譯器在鏈接階段去其他文件中尋找該變量或函數的定義。
在C語言中,變量和函數的聲明和定義是分開的,聲明是告訴編譯器有這個變量或函數的存在,而定義是給變量分配內存空間或實現函數的功能。當一個變量或函數在多個文件中使用時,需要在每個文件中進行聲明,而在其中一個文件中進行定義。使用extern關鍵字可以避免在每個文件中重復定義變量或函數。
例如,在一個文件中聲明一個變量或函數: extern int x; // 聲明一個int類型的變量x extern void func(); // 聲明一個無返回值的函數func
然后在另一個文件中定義該變量或函數: int x; // 定義變量x void func() { // 定義函數func的功能 }
在使用extern關鍵字聲明變量或函數時,編譯器會在鏈接階段去其他文件中尋找該變量或函數的定義,確保所有文件中對該變量或函數的引用都指向同一個定義。這樣可以實現多個文件之間的變量或函數共享。