介绍
引用是C++中特有的语法,在C语言中不存在。
本质上引用(reference)就是指针,在类型名后面加上一个&号就是引用类型。
1.指针与引用的定义进行比较
指针定义: 引用定义:
int a = 123; int a =123;
int* p = &a; int& r = a;
称作:p指向了变量a 称作:r是变量a的引用或r引用了目标对象a
2.引用可以看作是目标对象的一个别名,对引用的操作其实都是对目标对象的操作。
3.引用必须在定义时初始化,也就是一创建就要与目标对象绑定。
1
2
|
int a = 124;
int &r; //语法错,必须初始化
|
引用作为函数参数
1
2
3
4
5
6
7
8
9
10
11
|
#include <stdio.h>
int add( int & a, int & b)
{
return a + b;
}
int main()
{
int a = 1, b = 2;
printf ( "%d\n" , add(a, b));
return 1;
}
|
引用作为函数的返回值
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
#include <stdio.h>
#include <string.h>
struct Student
{
char name[32];
int age;
};
Student stu;
Student& fun()
{
strcpy (stu.name, "aaa" );
stu.age = 30;
return stu;
}
int main()
{
Student& stu = fun();
printf ( "name = %s, age = %d\n" , stu.name, stu.age);
return 1;
}
|
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对服务器之家的支持。如果你想了解更多相关内容请查看下面相关链接
原文链接:https://blog.csdn.net/woniu211111/article/details/75175314