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

C語言函數核心觀念:模組化設計、參數機制與序列點

     編輯:關於C語言

函數的由來與意義

C 程式 = 資料 + 函數。函數實現模組化設計,將複雜問題分解為可管理的小單元,符合面向過程程式設計範式。

函數聲明與定義

// 聲明
extern int g_var;
void f(int i, int j);
int g(int x);

// 定義
void f(int i, int j) {
    printf("i + j = %d\n", i + j);
}

int g(int x) {
    return 2 * x + g_var;
}

函數參數本質

  • 參數本質為區域變數,分配於堆疊
  • 初始值來自實際引數
  • 參數求值順序未定義,依編譯器實現而定
int k = 1;
f(k, k++);  // k++ 何時執行?編譯器決定

序列點

序列點為程式執行中「變數修改必須反映到後續存取」的時間點:

  • 完整表達式結束
  • &&、||、?:、逗號運算子運算元計算後
  • 函數呼叫中所有實參求值完成(進入函數體前)
k = k++ + k++;  // 未定義行為:無序列點約束

隱式類型規則

缺少類型聲明時,C 預設為 int:

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