介绍
引用是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