指针和引用的区别
- 1.引用在定义时必须被初始化,指针没有要求
- 引用的特点是必须初始化,指针不初始化就是野指针,若初始化可以初始化为NULL,NULL在c++中是宏定义0,在c语言中是(void*)0,我们常用的是NULLPTR是c++11中的。
- 2. 引用不能改变引用关系,指针随意
- 3. 有多级指针没有多级引用
- 4. 没有NULL引用,有NULL指针
- 想利用一个函数去修改主函数指针变量的值,参数要用二级指针,二级指针是用来修改一级指针的
- 5.引用++和指针++表达的含义不同
- 指针++是指针指向的移到下一位
- 引用++是数据++;
- 6.用sizeof计算大小结果不同指针在32位内存下是4字节,在64位内存下是8字节,引用结果为类型的大小