程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> C/C++中的引用和指針

C/C++中的引用和指針

編輯:C++入門知識

 

引用又稱 別名,它可以最為對象的一個名字,但它既不是對象的指針,也不是對象的副本。

 

通過引用可以間接地操作對象,使用方式類似於指針,但不需要指針的語法。

 

 

 

使用規則:

 

1>    引用被創建的同時必須被初始化,(指針可以在任何時候被初始化

 

     int a = 12;

 

    int &b = a;//正確

 

    int &c;//錯誤

 

2>    一旦引用被初始化,就不能改變引用的關系(指針可以隨時改變所指的對象)

 

3>    引用的所有操作實際上都是應用在它所指的對象身上,包括取址操作符

 

4>    不能有NULL引用,引用必須與合法的存儲單元關聯(指針則可以是NULL)

 

 

 

直接訪問:按變量地址存取變量值

 

間接訪問:通過變量地址的的變量去訪問變量

 

 

 

指針:指針就是它的值表示內存地址的變量

 

如果兩個指針都指向同一個數組中的元素,它們之間可以相減。

 

任何指針之間都可以進行比較,測試它們相等或不相等。

 

 

 

指針和引用的異同

 

 

 

相同點:

 

都是地址的概念,指針所指向的一塊內存,它的內容是所指內存的地址,而引用則是某塊內存的別名。

 

 

 

不同點:

 

1>    指針是一個實體,而引用是個別名

 

2>    引用只能在定義時初始化一次,之後不可改變,指針則可以;引用“從一而終”,指針“見異思遷“

 

3>    引用沒有const,指針有const,有const的指針不可改變

 

4>    引用不可為空,而指針可以為空

 

5>    Sizeof引用得到的是所指變量(對象)的大小,而sizeof得到的是指針本身的大小

 

6>    指針和引用的自增(++)運算意義不一樣

 

7>    引用是類型安全的,而指針不是(引用比指針多了類型檢查)

 

摘自:飛哥的專欄

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved