作用:利用指针作函数参数,可以修改实参的值
代码示例:
#include <iostream>
using namespace std;
//实现两个数字进行交换
//值传递
void swap01(int a, int b)
{
int temp = a;
a = b;
b = temp;
cout << "swap01 a=" << a << endl;
cout << "swap01 b=" << b << endl;
}
//地址传递
void swap02(int *p1, int *p2)
{
int temp = *p1;
*p1 = *p2;
*p2 = temp;
}
int main()
{
//指针和函数
//1.值传递
int a = 10;
int b = 20;
swap01(a,b);//值传递不会改变实参
//2.地址传递
//如果是地址传递,可以修饰实参
swap02(&a, &b);//值传递会改变实参
cout << "a=" << a << endl;
cout << "b=" << b << endl;
return 0;
}
总结:如果不想修改实参,就用值传递,如果想修改实参,就用地址传递
嘿嘿,你懂得!