在 C 語言中,**函數是程序的基本組成單位**。
C 語言程序由一個或多個函數組成,**必須且僅有一個 main 函數** 作為入口。其他函數可被 main 或彼此調用,形成調用鏈。這種設計直接支撐了 結構化程序設計 的核心思想:
| 優勢 | 具體體現 |
|---|---|
| 模塊化 | 將大問題分解為獨立功能單元(如 input()、calc()、output()),各自編譯、獨立測試 |
| 復用性 | 同一函數可被多處調用,避免代碼重複(DRY 原則) |
| 可讀性 | main 只保留高層流程,細節隱藏在函數內,邏輯清晰 |
| 可移植性 | 函數接口不變,內部實現可替換(如換算法、換平台),不影響調用方 |
返回類型 函數名(參數列表) {
// 聲明部分(可選)
// 執行語句
return 表達式; // 無返回值用 void,可省略 return
}
printf、scanf、strlen… 由編譯器提供,鏈接時自動引入。calc_avg 只算平均,不打印)。const 保護輸入,輸出用指針/引用,返回錯誤碼或結果。static 限制作用域;熱點小函數加 inline 建議內聯。// ❌ 面條代碼:所有邏輯堆在 main
int main() {
int a[100], n, sum=0;
scanf("%d",&n);
for(int i=0;i
函數 = C 語言的「積木」。掌握「如何將需求拆解為正交的函數集合」,是從寫對代碼進化為寫好架構的關鍵。無論項目多大,本質都是 main 串聯一組設計良好的函數。