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

C語言參數傳遞機制詳解:傳值、傳址與傳引用

     編輯:關於C語言

參數傳遞三種形式

C語言函數參數傳遞本質上只有「傳值」,但可透過指標模擬傳址/傳引用行為。常見三種寫法:

1. 傳值

// 實參
sum(a, b);

// 形參
int sum(int a, int b) { ... }

函數接收副本,修改不影響原變數。

2. 傳址(指標)

// 實參
sum(&a, &b);

// 形參
int sum(int *a, int *b) { ... }

傳遞記憶體位址,函數可透過解參考修改原變數值。

3. 傳引用(C++ 風格,C 不原生支援)

// 形參(C++ 語法)
int sum(int &a, int &b) { ... }

C 語言無 & 參數語法,此為 C++ 特性。C 中若見此寫法,實為指標操作的語法糖誤解。

核心差異比較

方式語法記憶體行為適用場景
傳值func(int x)複製值到棧框小型資料、不需修改原值
傳址func(int *x)傳遞位址,可修改原值大型結構、需修改呼叫端變數

理解指標與記憶體模型是掌握 C 語言參數傳遞的關鍵。

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