相同點:
- 都是地址的概念;
- 指針指向一塊內存,它的內容是所指內存的地址;引用是某塊內存的別名。
區別:
- 指針是一個實體,而引用僅是個別名;
- 引用使用時無需解引用(*),指針需要解引用;
- 引用只能在定義時被初始化一次,之后不可變;指針可變;
- 從內存分配上看:程序為指針變量分配內存區域,而引用不需要分配內存區域。
- 引用不能為空,指針可以為空;
- “sizeof引用”得到的是所指向的變量(對象)的大小,而“sizeof指針”得到的是指針本身(所指向的變量或對象的地址)的大小;
- 指針和引用的自增(++)運算意義不一樣;