什麼是指標: 指標是指向某資料型別的位址型別,占用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...