一. 定义
- 指针: 是一个变量,只不过这个变量存储的是一个地址,指向内存中的一个存储单元.
2.引用: 跟原来的变量实质是一个东西,只不过是原变量的一个别名
int a = 10; int *p = &a;
int a = 10; &b = a;
上面定义了一个整型变量和一个指针变量p,该指针变量指向a的存储单元,即p的值是a存储单元的地址.
下面定义了一个整型变量a和这个整型a的引用b, 事实上a和b是同一个东西,在内存占有同一个存储单元.
二. 区别
- 可以有const指针 但是没有const引用
- 指针可以有多级, 但是引用只能有一级
- 指针的值可以为空,但是引用的值不能为空
- 指针的值在初始化的时候可以改变, 及指向其他的存储单元,而引用在初始化后就不能再改变.
- 引用得到的是指向的变量的大小,指针得到的是指针本身的大小
- 指针 和 引用的自增++运算意义不一样
网友评论