C++中函数的调用有三种:传值调用、传址调用和引用调用,其中引用调用是C语言中没有的。传值调用比较简单,这种调用不能改变形参的值,传址调用和引用调用中形参的改变可以改变实参的值,下面分别予以介绍:
(1)传址调用:形参是指针
//函数定义:
void swap(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
cout<<"x="<<*x<<","<<"y="<<*y<<endl;
}
//函数调用:
void main()
{
int a(5),b(9);
swap(&a,&b);
cout<<"a="<<a<<","<<"b="<<b<<endl;
}
(2)引用调用:形参是引用
//函数定义:
void swap(int &x,int &y)
{
int temp;
temp=x;
x=y;
y=temp;
cout<<"x="<<x<<","<<"y="<<y<<endl;
}
//函数调用:
void main()
{
int a(5),b(9);
swap(a,b);
cout<<"a="<<a<<","<<"b="<<b<<endl;
}
以上两程序的运行结果均为:
x=9,y=5
a=9,b=5