指標

指標 類型變數會保留資料物件或函數的位址。 指標可以參照任何一種資料類型的物件; 它不能參照位元欄位或參照。

指標的一些常見用法如下:
  • 存取動態資料結構,例如鏈結清單、樹狀結構及佇列。
  • 存取結構或 C++ 類別的陣列或成員的元素。
  • 以字串形式存取字元陣列。
  • 將變數的位址傳遞至函數。 (在 C + + 中,您也可以使用參照來執行此動作。) 透過透過變數位址來參照變數,函數可以變更該變數的內容。

請注意,類型限定元 volatileconst 的放置會影響指標宣告的語意。 如果任一限定元出現在 *之前,則宣告元會說明指向 type-qualified 物件的指標。 如果任一限定元出現在 * 與 ID 之間,則宣告元會說明 type-qualifed 指標。

下表提供指標宣告的範例。
表 1. 指標宣告
宣告 說明
long *pcoat; pcoat 是指向具有類型 long 之物件的指標
extern short * const pvolt; pvolt 是指向具有類型 short 之物件的常數指標
extern int volatile *pnut; pnut 是指向具有 volatile 限定元之 int 物件的指標
float * volatile psoup; psoupvolatile 指向具有類型之物件的指標 float
enum bird *pfowl; pfowlbird 類型之列舉物件的指標
char (*pvish)(void); pvish 是不採用任何參數並傳回 char 之函數的指標
"" nullptr_t pnull; pnull 是空值指標,未指向任何有效的物件或函數。