首先什么是引用和指针呢?
1、引用:相当于一个变量的另一个名称,对引用的操作就是对变量的直接操作。引用保存着其对象的存储地址。
2、指针:其实指针变量也是个变量,只是这个变量的类型是指针。这个变量也有内存空间和标识符(变量名称)。但是指针变量里面对应的控件存储是某个内存地址而已。
那么如何定义引用和指针呢?
1、引用的定义:
语法:数据类型 & 别名=对象名;
int x=5;
int &y=x;
其中的含义为,&y引用x的地址&x,而y引用的是x的值。如果说x存放的地址为0001,那么&y=0001,而y=5
2、指针的定义:
语法:
第一种方式: 类名 * 对象指针名;对象指针名=对象的地址;
第二种方式:类名 * 对象指针名=对象的地址;
----------------------
int a=6;
//第一种定义方式
int *p;
p=&a;
----------------------
//第二种定义方式
int *p=&a;
----------------------
为什么要用将指针指向对象都用对象的引用呢?
因为指针存放的是对象的地址,需要把对象的地址赋给指针,而对象的引用可以传地址。
*p,p都是什么意思呢?
其实p是指针本身,而*p是指针p指向的一个对象,也就是上面的 *p代表了a这个对象。
指针如何调用对象的成员呢?
指针→对象成员名;
如何让指针代替对象调用成员呢?
(* 指针名).对象成员名;
因为 *p代表的就是指针指向的对象。