本文整理指標學習的核心知識點,適合快速複習與查閱。
int j = 10;
int *p = &j; /* p 指向 j */
int k = *p; /* k = 10 */
int *p; /* 指標 */
int* p; /* 等價,風格差異 */
int *p, p1; /* 錯誤:p1 是 int,非指標 */
int *p, *p1; /* 正確:兩個指標 */
int arr[10];
int *p = arr; /* p 指向 arr[0] */
int *p = &arr[0]; /* 等價 */
arr[i] /* 陣列存取 */
p[i] /* 指標存取,等價 */
*(p + i) /* 指標算術存取,等價 */
*(arr + i) /* 陣列名退化為指標,等價 */
掌握 `&`/`*` 對偶操作、宣告語法、指標算術與陣列等價關係,即能應對大多數指標場景。