1 引用的概念
引用就是变量的别名,对引用的操作等价于对变量的操作,不会给引用分内存空间,引用和被引用的变量共享一块内存空间。
一个变量可以有多个引用,一个引用只能对应一个变量(一个引用不能是多个变量的别名)。
2 指针的概念
指针是“指向”另外一种类型的符合类型。指针可以实现对对象的间接访问。
3 定义引用
数据类型 &引用名 = 变量名;
注意:
1)在定义引用的时候一定要初始化
2)一个引用只能是一个变量的别名,不能是多个变量的别名
&什么时候是取地址,什么时候是引用?
&前有数据类型就是引用, &前没有数据类型就是取地址
4 引用和指针的区别
区别如下:
1)指针占4个字节内存空间,引用不占内存,引用的和被引用的变量共用同一块内存空间
2)指针可以改向,引用一旦初始化完成,不能变成别的变量的引用
3)指针可以不初始化,引用一定要初始化
4)指针的运算只是移动一个数据类型的地址,引用的运算就是变量的运算
5)可以有void*型指针,不能有void型的引用
6)有数组指针,函数指针,不能有数组引用,和函数引用
7)常引用可以是常量的别名,指针只能是字符串常量的地址,不能定义成其他常量的地址。
8)可以定义多级指针,但不能这样定义: 数据类型 && 引用名 = 变量名; 引用也可以有别名,对别名的操作就是对引用的操作。
来源:CSDN
作者:一个人的天空007
链接:https://blog.csdn.net/aqiasi007/article/details/104513894