[問題] &ptr 與 &(++ptr)
int num [] = {1,2,3,4};
int *ptr = num;
cout << &ptr << endl;
cout << &(++ptr);
//cout << &(ptr++); /* 不合法,為什麼?! ERROR: &需一個 l-value */
輸出結果:
0x23ff2c
0x23ff2c
不曉得結果為何會是這樣,使用 &ptr 應該是取到指標變數所在的位址
我知道如果使用 *(++ptr) 會得到 num[2]=2 這個結果。
那 &(++ptr) 又是什麼東西 @@? 迷糊了...
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 124.8.144.198
※ 編輯: homal 來自: 124.8.144.198 (01/17 20:00)
→
01/17 20:01, , 1F
01/17 20:01, 1F
→
01/17 20:01, , 2F
01/17 20:01, 2F
→
01/17 20:03, , 3F
01/17 20:03, 3F
→
01/17 20:03, , 4F
01/17 20:03, 4F
→
01/17 20:04, , 5F
01/17 20:04, 5F
→
01/17 20:05, , 6F
01/17 20:05, 6F
推
01/17 20:15, , 7F
01/17 20:15, 7F
→
01/17 20:18, , 8F
01/17 20:18, 8F
推
01/17 20:30, , 9F
01/17 20:30, 9F
→
01/18 02:39, , 10F
01/18 02:39, 10F
→
01/18 02:41, , 11F
01/18 02:41, 11F
→
01/18 14:15, , 12F
01/18 14:15, 12F
推
01/20 03:08, , 13F
01/20 03:08, 13F
→
01/20 03:10, , 14F
01/20 03:10, 14F
→
01/20 03:10, , 15F
01/20 03:10, 15F