作用:利用指针作函数参数,可以修改实参的值

代码示例:

#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;

}

总结:如果不想修改实参,就用值传递,如果想修改实参,就用地址传递

嘿嘿,你懂得!