传递变量的指针(本质还是传址方式调用)
形参是指针变量,实参是变量的地址,调用实参时,形参指向实参的变量单元。
#include <iostream>
using namespace std;
int main( )
{
void swap(int *,int *);
int i=3,j=5;
swap(&i,&j); //实参是变量的地址
cout<<i<<" "<<j<<endl; //i和j的值已互换
return 0;
}
void swap(int *p1,int *p2) //形参是指针变量
{
int temp;
temp=*p1; //以下3行用来实现i和j的值互换
*p1=*p2;
*p2=temp;
}
![](http://c.biancheng.net/cpp/uploads/allimg/140512/1-140512224944626.png)
引用作形参:(引用方式调用:实参的地址传递给形参,形参与实参为同一个值)
#include <iostream>
using namespace std;
void swap(int &a,int &b) //形参是引用类型
{
int temp;
temp=a;
a=b;
b=temp;
}
int main( )
{
int i=3,j=5;
swap(i,j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}