引用和指针有什么区别?
指针可以不用初始化,而引用必须初始化
1.指针可以指向其他,引用不能;
在定义一个指针后,只要类型相同,指针可以指向任意变量量来操作;
在定义一个引用后,不可以改变引用的指向,因为引用使用的是变量本身的空间,修改引用指向相当于改变了变量的值;
2.在使用时:
引用在使用时相当于给变量取了个别名,使用的还是变量本身的空间地址,所以不需要需要开辟空间;
指针在使用时需要开辟空间来储存指针变量来指向所要操作的空间地址;
eg:
int arr[10] = {};
int *a = NULL;
a = arr;
定义一个整型数组arr,在定义一个整型指针a;让a指向arr
int b = 100;
int& a = b;
定义一个整型变量b,再定义一个引用a;a引用b