1.指针
指针是 C++ 从 C 中继承的重要数据类型,它提供了一种较为直接的地址操作手段,使用指针可灵活实现动态内存的分配。
C++ 中提供了两个与地址相关的运算符:* 和 & 。其中 * 称为 指针运算符,用于获取指针所指变量的值,例如 *p 表示指针 p 所指变量的值;& 称为 取地址运算符,用于获取一个对象的地址,例如有变量 i,则 &i 表示 i 的存储地址。
2.指针变量的声明
type *pointer_name
;
type为指针变量指向的数据的数据类型,*表示这是一个指针变量,后面是名字。
注意指针变量,里面存放的是一个地址,地址里放的是指向的数据,该数据的类型为type。
当然在定义完指针后,仅得到了一个用于存储地址的指针变量,若要确定指针变量存放的内存地址,可以通过给指针赋值实现。
指针简单点说,就相当于门牌号。这样可以更方便管理和操作。
3.引用
引用是指对已存在的变量别名,我们可以使用引用名来指向对象。
引用与指针主要有三个区别:
- 可以通过 指针名=0 描述一个空指针,但不存在空引用。
- 指针可在任何时间进行初始化操作,而引用只能在定义时进行初始化操作。
- 指针变量指向内存的一个存储单元;而引用只不过是原变量的一个别名而已。
简单点说,引用就是取个名字,比如一个人有一个大名,也有一个小名,就是这个意思,