首頁 >後端開發 >C++ >C/C++中的參數傳遞技術

C/C++中的參數傳遞技術

WBOY
WBOY轉載
2023-08-31 13:41:06818瀏覽

C/C++中的參數傳遞技術

在 C 中,我們可以透過兩種不同的方式傳遞參數。這些是按值調用和按地址調用,在C 中,我們可以得到另一種技術。這稱為透過引用呼叫。讓我們看看它們的效果以及它們是如何運作的。

首先我們將看到按值呼叫。在這種技術中,參數被複製到函數參數中。因此,如果進行了一些修改,這將更新複製的值,而不是實際值。

範例

#include <iostream>
using namespace std;
void my_swap(int x, int y) {
   int temp;
   temp = x;
   x = y;
   y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(a, b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}

輸出

(a,b) = (10, 40)
(a,b) = (10, 40)

依位址呼叫的工作原理是將變數的位址傳遞到函數中。因此,當函數更新該位址指向的值時,實際值將自動更新。

範例

#include <iostream>
using namespace std;
void my_swap(int *x, int *y) {
   int temp;
   temp = *x;
   *x = *y;
   *y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(&a, &b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}

輸出

(a,b) = (10, 40)
(a,b) = (40, 10)

與位址呼叫一樣,這裡我們使用引用呼叫。這是 C 特有的功能。我們必須傳遞參數的引用變量,因此為了更新它,實際值將被更新。僅在函數定義時,我們必須將 & 放在變數名稱之前。

範例

#include <iostream>
using namespace std;
void my_swap(int &x, int &y) {
   int temp;
   temp = x;
   x = y;
   y = temp;
}
int main() {
   int a, b;
   a = 10;
   b = 40;
   cout << "(a,b) = (" << a << ", " << b << ")\n";
   my_swap(a, b);
   cout << "(a,b) = (" << a << ", " << b << ")\n";
}

輸出

(a,b) = (10, 40)
(a,b) = (40, 10)

以上是C/C++中的參數傳遞技術的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除