C 引用與指標

2021-08-08 15:31:37 字數 853 閱讀 7172

引用其實是物件的另乙個名字(別名)。引用主要用作函式的形式引數。

進一步理解:引用是一種復合型別(引用又是一種型別),通過在變數名前新增」&「符號來定義。復合型別指的是用其他型別來定義的型別。

結論:其實引用只是乙個別名,即只是他繫結的物件的另乙個名字,作用在引用上的所有操作事實上都是作用在該引用繫結的物件上

1.乙個變數可以取多個「別名」

2.引用定義時時一定要初始化,只要該引用存在,它保持繫結到初始化時指向的物件,不可能將引用繫結到另乙個物件上去。(從一而終)>

char *p ; //語句把p定義為乙個指向char型別物件的指標變數

(2)指向某個物件後面的另乙個物件

(3)或者是0值。若指標儲存0值,表明不指向任何物件。

引用和指標的區別和聯絡
1. 引用只能在定義時初始化一次,之後不能改變指向其它變數(從一而終);指標變數的值可變。

2. 引用必須指向有效的變數,指標可以為空。

3. sizeof指標物件和引用物件的意義不一樣。sizeof引用得到的是所指向的變數的大小,而sizeof指標是物件位址的大小。

4. 指標和引用自增(++)自減(–)意義不一樣。

5. 相對而言,引用比指標更安全。

6. 合法性區別。在引用使用之前不需要測試它的合法性,但是指標總是被測試,防止其為空。

1.什麼時候考慮使用指標?
如果想使用乙個變數並讓他指向乙個物件,但該變數在某些時候也可能不指向任何物件。

2.什麼時候考慮使用指標?
如果你想使用乙個變數,且不允許變數為空,則使用引用,因為此時引用比指標的效率要高很多。

C 指標與引用

include 引用傳遞 int add1 int x,int y 指標傳遞 int add2 int x,int y 值傳遞 int add3 int x,int y void main int a 1 int b a 引用,表示b的引用指向了a 定義引用 開頭 必須賦初值 引用變數不占用記憶體 ...

C 指標與引用

從函式引數傳遞說起 int addition int x,int y int main void duplicate int a,int b int main 按值傳遞,顧名思義,函式形參僅僅得到變數傳來的值,函式的任何操作並不對變數產生任何變化 按位址傳遞,他的定義方式與按值傳遞不一樣 注意其在m...

C 引用與指標

1 引用即給當前物件起了個別名,通過將宣告符寫成 t c的形式來定義引用,其中t是變數名,c是當前物件的名字 修改別名相當於修改當前物件,引用必須初始化,且不能更改指向物件 example int a 10 定義a及初始化 int c a 定義a的引用c cout2 引用不是物件,只是對目前已經存在...