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

C語言函數參數傳遞:值呼叫與參考呼叫差異詳解

     編輯:關於C語言

形式參數與實際參數

  • 形式參數(形參):函數定義時括號內的參數,屬於函數內部區域變數,佔用獨立記憶體空間。
  • 實際參數(實參):函數呼叫時傳入的實際值或變數。

形參與實參必須型別一致、個數對應、順序一致,否則會產生不可預期結果。C 語言幾乎無執行期錯誤檢查,程式設計師需自行確保正確性。

兩種參數傳遞機制

機制說明影響
值呼叫將實參值的副本複製給形參函數內修改形參不影響實參原變數
參考呼叫將實參位址複製給形參(指標)函數內透過位址可修改實參原變數

C 語言預設採用值呼叫,若需修改實參,必須傳遞指標(位址)。

範例:值呼叫示意

void sqr(int x) {
    x = x * x;  // 僅修改區域副本
}

void main() {
    int t = 10;
    sqr(t);
    printf("%d %d", t, t);  // 輸出 100 10
}

傳入 sqr 的是 t 的值(10)的副本,函數內 x 變為 100,但 main 中的 t 保持 10 不變。記住:函數拿到的只是參數值的複本,內部變動無法回傳給呼叫端變數。

何時使用指標參數?

  • 需在函數內修改呼叫端變數值。
  • 傳遞大型結構體/陣列避免複製開銷。
  • 函數需回傳多個值(透過指標參數輸出)。

後續章節將詳細介紹指標作函數參數的寫法與應用場景。

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