知识点讲解
1. 指针
指针是一个变量,存储着一个内存地址,指向内存的一个存储单元。
2. 引用
可以理解成变量的别名,跟原来的变量实质上是同一个东西。
3. 区别
- 指针会有 4 个字节的空间来存储指向的内存地址,引用跟原来的变量共用同一块存储空间(实质上就是同一个东西)
- sizeof 指针是 4, sizeof 引用 是引用对象的大小。
- 指针可以初始化为 NULL,引用必须初始化且必须是一个已有对象的引用。
- 指针需要显式解引用才能操作指向的对象,引用可以直接解引用操作对象。
- 可以const 指针,不能const引用。
- 指针是一个变量,可以改变,引用是常量,不能改变。
- 指针可以有多级(**p),引用只能有一级