指標和參考之所以難懂,有很大一部份的原因是符號上的陌生所致。加上&既能用於取址又能用於參考,容易造成初學者的混淆。下面我們提供幾個建議來幫助各位看懂這些符號。
把int *p視為 int* p。
把int和*連在一起看,當作是一種型態叫做 "指向整數之指標",要比int *p自然得多。同樣的方式也可以套在char* p或void* p等。但要注意的是下面的狀況:
int* p, q;
不要把這行誤解成p, q都是指向int之指標,事實上,q只是一個int變數。上面這行相當於
int *p, q;
或
int *p; int q;
如果p, q都要宣告成指向int之指標,應寫成:
int *p, *q
或者干脆分兩行寫:
int* p;
int* q;
若&前面有資料型態 (ex: int &),則為參考,&前面有等號 (ex: int* p = &a),則為取址。
由於&同時具有多種意義,因此容易造成混淆。這裡列出的這個方法,可以幫助弄清楚每個&的意義。
歡迎光臨 code.club (https://code.club/) | Powered by Discuz! X3.2 |