在 C 中,——extern 關鍵字用於宣告變數或函式,表示它是在其他檔案中定義的。 當變數或函式在檔案中宣告為 -extern- 時,它會告訴編譯器該變數或函式已在另乙個檔案中定義,因此不需要在當前檔案中再次定義。
extern 關鍵字的主要目的是實現變數或函式的共享。 當多個檔案需要使用相同的變數或函式時,可以將它們的定義放在乙個單獨的檔案中,然後在需要使用它們的其他檔案中使用 -extern- 關鍵字宣告它們。 這避免了重複的定義,提高了可維護性和可重用性。
下面是乙個簡單的示例:
假設我們有乙個名字叫 -mathc——,它定義了乙個平方函式 - square——:
// math.c現在,我們要新增乙個名為 - main 的新名稱c——檔案。 為了實現這一點,我們需要使用 -mainc--use-extern-keyword 宣告-square-函式:#include
int square(int x) {
return x * x;
// main.c在此示例中,我們在 - mainC———extern int square(int x);—宣告 -square- 函式。 這告訴編譯器我們去過其他地方(即 -mathc-file) 定義了 -square- 函式,因此無需在此處再次定義。然後,我們可以轉到 -mainc——square— 函式來計算整數的平方。#include
宣告 square 函式。
extern int square(int x);
int main()
int num = 5;
int result = square(num);
printf("the square of %d is %d, num, result);
return 0;
需要注意的是,使用 -extern- 關鍵字宣告變數或函式時,無需指定其型別。 編譯器根據前面的定義自動推斷型別。 例如,在上面的示例中,我們沒有明確指定 -square- 函式的型別(例如,-int square(int x);— 因為編譯器可以從前面的定義中推斷出它是乙個返回整數型別的函式。
此外,如果變數或函式在多個檔案中宣告為 -extern——,則它們必須具有相同的名稱和型別。 否則,編譯器將無法確定應使用哪個定義。
extern 關鍵字在 C 中用於宣告變數或函式,表示它是在其他檔案中定義的。 通過使用 -extern- 關鍵字,我們可以共享變數或函式,避免重複定義,並提高可維護性和可重用性。 C 語言基礎