引用就是变量的别名,引用符号&。
基本数据类型的引用:
#include<iostream>
using namespace std;
int main(){
int a=3;
int &b=a;// 引用必须初始化,相当于给a起一个别名b,对b的修改就是对a的修改
b=10;
cout<<a<<endl;
return 0;
}
结构体类型的引用:
typedef struct {
int x;
int y;
}Coor;
#include<iostream>
using namespace std;
int main(){
Coor c1;
Coor &c=c1;//给c1起一个别名c;
c.x=10;
c.y=20;
cout<<c1.x<<”,”<<c1.y<<endl;
return 0;
}
指针类型的引用:
类型 *&指针引用名=指针;
#include<iostream>
using namespace std;
int main(){
int a=10;
int *p=&a;//p指向a
int *&q=p;//给p创建一个别名q
*q=20;
cout<<a<<endl;
return 0;
}
引用做函数参数
没有引用情况:
void fun(int *a,int *b){
int c=0;
c=*a;
*a=*b;
*b=c;
}
int x=10,y=20;
fun(&x,&y);//地址
函数引用:
void fun(int &a,int &b){//起别名,相当于a是x的别名,b是y的别名
int c=0;
c=a;
a=b;
b=c;
}
int x=10,y=20;
fun(x,y);
例子:
#include<iostream>
#include<stdlib.h>
using namespace std;
int main(void){
system(“pause”);
return 0;
}