总结:引用是c++的语法范畴。本质就是给变量取一个别名,操作这个别名就是操作这个变量本身。可以通过引用做函数形参的方式实现C语言中指针的一些功能,示例代码如下。
#include "iostream"
using namespace std;
int main01()
{
int a = 10;
int &b = a; //引用是c++的语法范畴。
//引用就是给变量a取一个别名。 变量实质就是固定大小内存块的别名。
//普通引用在定义时必须初始化!!!
cout << "a = " << a << endl;
cout << "b = " << b << endl;
b = 20;
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
void swap(int &x, int &y) //使用引用做函数形参可以实现两数交换值。
{
int c;
c = x;
x = y;
y = c;
}
int main02()
{
int a = 10;
int b = 20;
swap(a, b);
cout << "a = " << a << endl;
cout << "b = " << b << endl;
system("pause");
return 0;
}
// -------------------
struct Teacher
{
char name[30];
int age;
};
void printfT1(Teacher *p)
{
cout << p->age << endl;
}
void printfT2(Teacher &p)
{
cout << p.age << endl;
p.age = 88; //通过引用做新参来修改结构体成员的值。
}
int main()
{
Teacher t1;
t1.age = 33;
printfT1(&t1);
printfT2(t1);
printf("t1.age : %d \n", t1.age);
system("pause");
return 0;
}