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

C語言函數聲明與返回值:類型聲明、return 語句與函數值使用

     編輯:C 語言基礎

模組化程式設計與函數

函數是 C 語言的基本組成單元,支援模組化程式設計:將大問題分解為小模組,分別實現再組裝。優點:

  • 程式結構清晰、易讀、易維護
  • 通用運算可封裝為函數重用,減少重複編碼

函數一般形式

返回類型 函數名(參數列表) {
    參數聲明;
    函數體;
}
  • 類型聲明符:定義 return 返回值的類型。省略時預設為 int
  • 參數列表:以逗號分隔的變數列表,接收調用時的實參值。可為空,但括號不可省略
  • 參數聲明:定義參數類型(舊式 K&R 風格)

4.1.1 函數類型聲明

返回非 int 型資料的函數,必須在首次調用前聲明類型,否則編譯器會假設其返回 int,產生錯誤代碼。

聲明語法

類型聲明符 函數名();  // 參數列表不可寫在聲明中

範例:

float sum();  // 聲明 sum 返回 float

void main() {
    float result = sum(); // 編譯器知道正確生成調用代碼
}

注意事項

  • 若函數定義在調用之前,可省略聲明(編譯器已見定義)
  • 跨檔案調用時,必須在頭檔案中聲明,否則連結器無法檢測類型不匹配
  • 類型檢查僅在編譯階段進行,連結與執行階段不檢查
  • 返回 char 的函數常聲明為 int(字符自動提升為整數)

4.1.2 return 語句

return 有兩大用途:

  1. 立即退出函數,返回調用點繼續執行
  2. 返回一個數值給調用者

函數結束的兩種方式

  1. 執行完最後一條語句,遇到右大括號 } 隱式返回
  2. 執行 return 語句(可多處、可帶運算式)

返回值使用規則

  • 除 void 型函數外,所有函數都返回值(無 return 時返回 0)
  • 返回值可直接用於運算式:x = power(y);、if (max(a,b) > 100) ...
  • 函數不能作為賦值對象:swap(x,y) = 100; ❌ 編譯錯誤
  • 返回值不必賦給變數,可直接丟棄:mul(a,b); 合法但值被忽略

範例:返回值的多種用法

int mul(int x, int y) { return x * y; }

void main() {
    int z = mul(3, 4);      // 1. 賦值給變數
    printf("%d", mul(5, 6)); // 2. 直接作為函數引數
    mul(7, 8);              // 3. 丟棄返回值
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved