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

C語言內部函數與外部函數、函數分類總結與變量存儲類型表

     編輯:關於C語言

內部函數

static 類型 函數名(參數) { ... }
// 僅在本源文件可見,異文件同名不衝突

又稱靜態函數,static 此處限制作用域非存儲方式。

外部函數

extern 類型 函數名(參數) { ... }
// 整個程序可見,跨文件調用需聲明

默認隱含 extern。跨文件調用示例:

/* F1.c */
main() {
    extern int f1(int i); // 聲明
    f1(10);
}

/* F2.c */
extern int f1(int i) { ... } // 定義

函數分類總結

分類維度類別
來源庫函數 / 用戶定義函數
返回值有返回值(聲明類型) / 無返回值(void)
參數有參 / 無參
作用域內部 / 外部

函數定義/聲明/調用通用形式

[extern/static] 類型 函數名([參數表])  // 定義
[extern] 類型 函數名([參數表]);        // 聲明
函數名([實參表])                       // 調用

關鍵規則

  1. 參數傳遞:值傳遞(數組退化為指針屬地址傳遞)
  2. return 返回單一值
  3. 允許嵌套調用與遞歸調用
  4. 變量三維分類:數據類型、作用域、存儲類型

變量存儲類型完整對照表

存儲方式存儲類型關鍵字定義位置生存期作用域初始值可初始化類型
動態自動變量auto函數/復合語句內調用期間定義它的函數/語句內不定基本類型
寄存器變量register函數/復合語句內調用期間定義它的函數/語句內不定int/char
靜態外部變量extern函數外部整個程序整個源程序0任何類型
靜態局部變量static函數/復合語句內整個程序定義它的函數/語句內0任何類型
靜態靜態全局變量static函數外部整個程序定義它的源文件內0任何類型

理解存儲類型是掌握變量生命週期、作用域、鏈接屬性的關鍵,對編寫正確、高效的 C 程序至關重要。

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