基本概念:形参的类型决定了形参和实参交互的方式。
- 当形参是引用类型时,它对应的实参被引用传递(passed by referencr)。和其他引用一样,引用形参也是他绑定对象的别名:也就是说,引用形参是他对应的实参的别名。此时称函数被传引用调用(called by reference)
- 值传递(passed by value):当实参的值被拷贝给形参时,形参和实参是两个相互独立的对象。此时函数被传值调用(called by value)
例子1.使用指针作为参数,交换两个整数的值
注意:
1.使用指针作为参数时,在函数内部交换指针的值只改变局部变量,不会影响实参原本的值。
2.为了实现题目的要求,应该在函数内部通过解引用操作改变指针所指的内容。
#include<iostream>
using namespace std;
//在函数内部通过解引用操作改变指针所指的内容
void mySWAP(int *p, int* q)
{
int tem = *p;
*p = *q;
*q = tem;
}
int main()
{
int a = 5, b = 10;
int* r = &a, * s = &b;
cout << "交换前:a=" << a << "," << "b=" << b << endl;
mySWAP(r, s);
cout << "交换后:a=" << a << "," << "b=" << b <<