僅能在定義它的同一原始檔中被呼叫。宣告格式:
static 回傳類型 函數名(參數表);
又稱靜態函數。不同檔案可定義同名內部函數不衝突。
在整個專案所有原始檔中均可呼叫。宣告格式:
extern 回傳類型 函數名(參數表);
若不寫 extern 或 static,預設為 extern。跨檔案呼叫時,呼叫端需用 extern 宣告被呼叫函數。
/* F1.c */
main() {
extern int f1(int i); // 宣告外部函數
...
}
/* F2.c */
extern int f1(int i) { ... } // 定義外部函數
void)[extern/static] 類型 函數名([形參])[extern] 類型 函數名([形參]);函數名([實參])從資料類型、作用域 (區域/全域)、儲存類別 (靜態/動態) 三面向分類,本章重點講解後兩者。