有關指標,我想打個比方來說,請教一下各位先進,這樣理解是否正確?
int *x;
int &y;
在這裡我們用儲物箱來比喻記憶體(內存)。
&y就是指例如第幾號的箱子,而*x則是指第幾號箱子裡的東西是什麼?
這樣比喻對嗎?
再來,int 的屬性是表示已預先留了 4 byte的記憶體空間給 x or y,是嗎?例如一個箱子代表一個byte,int *x 是表示我已留了四個箱子給x,將來等它指定給某位址的陣列後(即幾號到幾號的儲物箱),會將某陣列裡面的內容copy一份出來放進x的箱子裡。還是根本沒有,x只是告訴你將來要去某個位址的記憶體(箱子)去用裡面的內容?x本身不占用任何箱子?
而假設
char *x;
char string[]="hello world!";
x=string;
請問,此時x裡是什麼東西?
希望我說的話大家能看懂我想表達的東西
thanks