指针和引用的区别
指针所指向的内存空间在程序运行过程中可以改变,而引用所绑定的对象一旦绑定就不能改变。(是否可变)
指针本身在内存中占有内存空间,引用相当于变量的别名,在内存中不占内存空间。(是否占内存)
*引用的实现实际上是占用内存空间的,但程序把它按照不占用内存空间来处理。
实际在内存空间上,引用本身也占用一块内存,里面存储着所引用的变量的地址,大小与指针相同,字面上也表现为unsigned long int型。只是经过编译器处理后,访问这块内存时将直接转而访问其指向的内存。因此在程序中无法读取到这块内存本身。
指针可以为空,但是引用必须绑定对象。(是否可为空)
指针可以有多级,但是引用只能一级。(是否能为多级)