指標與引用

2021-09-30 07:03:13 字數 916 閱讀 4834

什麼是指標:  指標是指向某資料型別的位址型別,占用4個位元組, 定義乙個指標時應指出該指標是什麼資料型別。 如定義乙個整形指標: int * p;     可見定義指標變數是在變數前加乙個指標標示符* 。  指標型別也可以為void, 即為無型別,當指標型別不確定時使用。該類指標可轉換為其它任何型別指標,無需強制轉換。指標的就應,通過在指標p前加* 可提取指標指向的變數的值。 如cout<<*p; 輸出p指向的變數的值。

指標的作用: 

1.  當有較多同型別變數時,使用指標變數,使程式簡單明瞭,可讀性好。

2.  作為函式形參, 當引數值佔記憶體較大時,可使用指標或引用,不必將引數壓棧。(函式引數三種傳遞方式: 值傳遞,指標傳遞,引用傳遞)

3.  鍊錶,鏈式結構中需要指標定址連線各資料元素。

4.  申請記憶體塊時,存放記憶體首位址。        

什麼是引用:  引用是某一變數的別名,操作引用跟操作變數完全一樣。定義乙個引用必須初始化,標示符為&。 如定義乙個整形引用:

int a=0;

int & b=a;     

引用的作用

1.  作為函式形參, 不產生引數的副本。傳遞效率高,常與const 一起,保證引數的安全性。

2.  使用引用就像使用原變數一樣,可讀性好。

3.  使用引用作為返回值,不產生返回值的副本。

4.  由於引用不能再次賦值,不會引起像指標使用不當帶來的位址錯誤。

指標與引用的區別:

1. 指標可以不被初始化, 引用本身在定義時初始化。

2. 引用的可讀性比指標好。

3. 指標可以被改變,指向不同的物件,靈活性強,處理功能強大, 引用不能被改變,安全性高。

指標與引用

摘自 高質量c 程式設計 指標與引用,在more effective c 的條款一有詳細講述,我給你轉過來 條款一 指標與引用的區別 指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用...

引用與指標

引用就是物件的另乙個名字,在實際的程式中,引用主要用作函式的形式引數。引用是一種復合型別,通過在變數名前新增 符號來定義。復合型別是指用其他型別定義的型別。在引用的情況下,每一種引用型別都 關聯到 某一其他型別。引用必須用與該引用同型別的物件初始化。當引用初始化後,只要該引用存在,它就保持繫結到初始...

指標與引用

include iostream using namespace std void testref int i 10 引用不可以為空,他是乙個物件的別名 int ref i ref cout i 00824f1e mov dword ptr i 1 把i的位址傳入eax 並把eax指標的位址傳給re...