函数传参有三种形式:通过值传参、通过指针传参、通过引用传参。
本博客介绍函数通过指针传参。
并使用VS2022进行调试帮助读者理解函数的形参”“实参”存放的位置,以及是否是同一个实体。
函数通过值传参,参考博客:
【C++】part3-函数通过值传参
https://jn10010537.blog.csdn.net/article/details/125829205
函数通过指针传参,参考博客:
【C++】part3-函数通过指针传参
https://jn10010537.blog.csdn.net/article/details/125829790
采用逐语句的调试,您可以按快捷键F11。
示例代码如下:
#include
//pass by pointer
void swap(int& x, int& y) {
int t;
t = x; x = y; y = t;
}
int main() {
auto a{ 5 }, b{ 10 };
std::cout << "Before: a=" << a << " ,b=" << b << std::endl;
swap(a, b);
std::cout << "After: a=" << a << " ,b=" << b << std::endl;
return 0;
}
运行如下:

函数通过引用传参:
函数的形参和实参是一个实体。
形参和实参都是整形内存地址,且内存地址一样!
函数内的形参的值改变,实参的值是改变!