c++ - C++中指针的简单问题——内存地址的交换

c++ - C++中指针的简单问题——内存地址的交换

我在 C++ 中有这段代码:

#include

using namespace std;

void byRefCPointerByValue (int *x, int *y)

{

int b = 10;

int *aux = x;

x = y;

y = aux;

}

int main ()

{

int a = 1;

int b = 2;

int *x = &a;

int *y = &b;

byRefCPointerByValue(x,y);

cout << *x << endl;

cout << *y << endl;

return 0;

}

我知道,在 main 函数中, x 和 y 拥有一些地址。调用函数时,参数仍然是地址,而不是值。在函数内部,参数 *x 和 *y 保存实际值,分别为 1 2. 函数执行地址之间的交换是否正确?为什么调用这个函数后 x 仍然是 1 而 x 仍然是 2?

相关推荐

鑫谷 LUX重装版机箱
beat365中文官方网站

鑫谷 LUX重装版机箱

📅 08-19 👁️ 3627
草本面膜粉要敷多久-汉方化妆品
mobile365官网是多少

草本面膜粉要敷多久-汉方化妆品

📅 07-08 👁️ 1781
中文字幕
beat365中文官方网站

中文字幕

📅 07-18 👁️ 2995