首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C >> C 語言基礎

C語言函數分類與多檔案專案:內部函數vs外部函數

     編輯:C 語言基礎

內部函數

僅能在定義它的同一原始檔中被呼叫。宣告格式:

static 回傳類型 函數名(參數表);

又稱靜態函數。不同檔案可定義同名內部函數不衝突。

外部函數

在整個專案所有原始檔中均可呼叫。宣告格式:

extern 回傳類型 函數名(參數表);

若不寫 extern 或 static,預設為 extern。跨檔案呼叫時,呼叫端需用 extern 宣告被呼叫函數。

跨檔案範例

/* F1.c */
main() {
    extern int f1(int i);  // 宣告外部函數
    ...
}

/* F2.c */
extern int f1(int i) { ... }  // 定義外部函數

本章小結:函數分類總覽

  1. 依來源:庫函數 / 使用者自訂函數
  2. 依回傳值:有回傳值 (需宣告類型) / 無回傳值 (void)
  3. 依參數:有參函數 / 無參函數
  4. 依作用域:內部函數 / 外部函數

關鍵語法重點

  • 函數定義:[extern/static] 類型 函數名([形參])
  • 函數宣告:[extern] 類型 函數名([形參]);
  • 函數呼叫:函數名([實參])
  • 參數傳遞:值傳遞 (陣列名除外,傳遞地址)
  • 支援遞迴與巢狀呼叫

變數三維分類表

從資料類型、作用域 (區域/全域)、儲存類別 (靜態/動態) 三面向分類,本章重點講解後兩者。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved