相同点: 指针和引用都是地址的概念, 指针指向一块内存,他的值是这块内存的地址;而引用是一块内存的别名。
区别: 指针是一个实体,而引用是一个别名。
(1) 非空区别。指针可以为空(NULL),而引用必须总是初始化,指向某一个变量。
(2) 合法性区别。使用引用之前不需要测试它的合法性,而使用指针之前必须测试它的合法性,防止其为空。
(3) 可修改区别。指针可以被重新赋值以指向不同的内存区域,而引用必须在定义的时候被初始化,并且以后不能改变。
(4) 对于++的意义不一样。
(5) 对sizeof()操作符, 引用的结果是 引用所指向的变量的类型大小,而指针是指的指针类型的大小