| 符號 | 名稱 | 作用 | 操作對象 |
|---|---|---|---|
& | 取址運算符 | 獲取變數的記憶體地址 | 普通變數 |
* | 解引用/間接訪問 | 通過地址訪問/修改該地址存儲的值 | 指標變數 |
void func1(int *p) { *p = 10; } // 接收指標,修改指向的值
void func2(int &ref) { ref = 10; } // C++ 引用參數,直接修改實參 (C 無此語法)
int main() {
int a = 5;
func1(&a); // 傳遞 a 的地址,a 變為 10
// func2(a); // 僅 C++ 合法
}
int a → 變數&a → int* (一級指標)&&a → int** (二級指標,地址的地址)*p → 取值 (若 p 為 int* 則得 int)void InitList(SqList *&L) (C++ 引用傳遞指標,可修改主調指標指向) 或 void InitList(SqList **L) (C 雙重指標)。void Insert(Node *p, int val) (傳入節點指標,修改節點內容)。新浪博客詳細圖解:C/C++ 指標與引用深度解析