1. 引用只能在定義時初始化一次,以後不能改變指向其它變量(從一而終);指針變量的值可變。安全
2. 引用必須指向有效的變量,指針能夠爲空。函數
3. sizeof指針對象和引用對象的意義不同。sizeof引用獲得的是所指向的變量的大小,而sizeof指針是對象地址的大小。指針
4. 指針和引用自增(++)自減(--)意義不同。對象
5. 相對而言,引用比指針更安全。內存
不一樣點:變量
8.從內存分配上看:程序爲指針變量分配內存區域,而引用不須要分配內存區域。引用
相同點:
二者都是地址的概念,指針指向一起內存,其內容爲所指內存的地址;引用是某塊兒內存的別名。程序
(1) 值傳遞,會爲形參從新分配內存空間,將實參的值拷貝給形參,形參的值不會影響實參的值,函數調用結束後形參被釋放;內存分配
(2) 引用傳遞,不會爲形參從新分配內存空間,形參只是實參的別名,形參的改變會影響實參的值,函數調用結束後形參不會被釋放;co
(3) 地址傳遞,形參爲指針變量,將實參的地址傳遞給函數,能夠在函數中改變實參的值,調用時爲形參指針變量分配內存,結束時釋放指針變量。