Extern c什么意思

在C語言中,"extern"關鍵字用於聲明一個變數或函式的定義在外部模組中。當使用extern關鍵字時,編譯器會知道這個變數或函式是在其他檔案中定義的,而不是在當前檔案中。

例如,如果你有兩個C檔案,file1.c和file2.c,並且file1.c中需要使用file2.c中定義的某個函式,那麼你可以在file1.c中使用extern關鍵字來聲明這個函式。下面是一個例子:

// file2.c int add(int a, int b) { return a + b; }

// file1.c extern int add(int, int); // 聲明add函式在外部模組中定義

int main() { int result = add(10, 20); printf("The result is %d\n", result); return 0; }

在這個例子中,file1.c中的extern int add(int, int);語句告訴編譯器,add函式是在其他檔案中定義的,這樣編譯器就不會在file1.c中尋找add函式的定義。相反,編譯器會在連結階段尋找add函式的實現。

需要注意的是,如果你在一個C檔案中聲明了一個外部變數或函式,那麼你必須在另一個C檔案中定義它。否則,連結器在連結階段會報錯,因為它無法找到外部變數的定義或函式的實現。