#include <iostream.h>
//引用传递
int add1(int &x,int &y)
{
x=5;
return x+y;
};
//指针传递
int add2(int *x,int *y)
{
*x=5;
return *x+*y;
};
//值传递
int add3(int x,int y)
{
x=5;
return x+y;
};
void main()
{
int a=1;
int &b=a;//引用,表示b的引用指向了a 定义引用 &开头 必须赋初值 引用变量不占用内存
//如果是指针 指针也会占用一片内存,你获取不到引用的地址,相当于b是a的别名
b=5;//此时b改变 a跟着改变
int c=9;
b=c;//这里b的地址指向a =表示赋值 此时b=9
cout<<a<<endl;
int k=1;
int *h=&k;
cout<<*h<<endl;//cout<<h<<endl可以输出引用的地址 而引用则获取不到地址
int x=6;
int y=9;
add1(x,y);
cout<<x<<endl;
x=6;
y=9;
add2(&x,&y);
cout<<x<<endl;
x=6;
y=9;
add3(x,y);
cout<<x<<endl;
}
输出结果
9
1
5
5
6