引用与指针的区别

萝らか妹 提交于 2020-02-26 13:42:03

1 引用的概念

引用就是变量的别名,对引用的操作等价于对变量的操作,不会给引用分内存空间,引用和被引用的变量共享一块内存空间。

一个变量可以有多个引用,一个引用只能对应一个变量(一个引用不能是多个变量的别名)。

2 指针的概念

指针是“指向”另外一种类型的符合类型。指针可以实现对对象的间接访问。

3 定义引用

数据类型 &引用名 = 变量名;

注意:
1)在定义引用的时候一定要初始化
2)一个引用只能是一个变量的别名,不能是多个变量的别名

&什么时候是取地址,什么时候是引用?
&前有数据类型就是引用, &前没有数据类型就是取地址

4 引用和指针的区别

区别如下:
1)指针占4个字节内存空间,引用不占内存,引用的和被引用的变量共用同一块内存空间
2)指针可以改向,引用一旦初始化完成,不能变成别的变量的引用
3)指针可以不初始化,引用一定要初始化
4)指针的运算只是移动一个数据类型的地址,引用的运算就是变量的运算
5)可以有void*型指针,不能有void型的引用
6)有数组指针,函数指针,不能有数组引用,和函数引用
7)常引用可以是常量的别名,指针只能是字符串常量的地址,不能定义成其他常量的地址。
8)可以定义多级指针,但不能这样定义: 数据类型 && 引用名 = 变量名; 引用也可以有别名,对别名的操作就是对引用的操作。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!