在 C 中,有四種參數傳遞方式:1. 傳值(副本)2. 傳引用 3. 傳常引用 4. 傳指標。傳值和傳引用用於修改原值,常引用用於只讀訪問,而傳指標用於操作記憶體位址。
C 函數參數傳遞方式
#在 C 中,將資料傳遞給函數的方法有多種。根據傳遞的是值的副本還是對值的引用,參數傳遞方式被分成以下幾種:
1. 傳值(Pass by Value)
傳遞值的副本,副本的修改不會影響原值。宣告方式:
void f(int a); // 传递 a 的副本
2. 傳引用 (Pass by Reference)
傳遞值的引用,對引用的修改會影響原值。宣告方式:
void f(int& a); // 传递 a 的引用
3. 傳常引用 (Pass by Constant Reference)
與傳引用類似,但引用指向的值不能被修改。宣告方式:
void f(const int& a); // 传递 a 的常引用
4. 傳指針 (Pass by Pointer)
傳遞指向值的指針,對指標指向的值的修改會影響原值。宣告方式:
void f(int* a); // 传递 a 的指针
實戰案例:
以下是一個使用傳值和傳引用的C 函數範例:
#include <iostream> // 传值 void swapValue(int a, int b) { int temp = a; a = b; b = temp; } // 传引用 void swapReference(int& a, int& b) { int temp = a; a = b; b = temp; } int main() { int x = 1, y = 2; std::cout << "Before swapValue: x = " << x << ", y = " << y << std::endl; swapValue(x, y); std::cout << "After swapValue: x = " << x << ", y = " << y << std::endl; std::cout << "Before swapReference: x = " << x << ", y = " << y << std::endl; swapReference(x, y); std::cout << "After swapReference: x = " << x << ", y = " << y << std::endl; return 0; }
輸出結果:
Before swapValue: x = 1, y = 2 After swapValue: x = 1, y = 2 Before swapReference: x = 1, y = 2 After swapReference: x = 2, y = 1
注意:
以上是C++ 函式參數傳遞方式有哪些?的詳細內容。更多資訊請關注PHP中文網其他相關文章!