[問題] 一個指標的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
VC++
問題(Question):
Line1--> int a[5] = {1,2,3,4,5};
Line2--> int *ptr = (int*) (&a+1);
cout << *(ptr-1) << endl;
這邊會印出5
但是 有點不太懂為什麼
若本來a指向陣列的第一個位址
Line2 若以int來移動 應該會指向 a[4]
1,2,3,4,5
^ ^
a ptr
所以 *(ptr -1) 印出來 應該是 4???
懇請高人指點 thx
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.167.11.180
推
11/15 12:00, , 1F
11/15 12:00, 1F
→
11/15 12:43, , 2F
11/15 12:43, 2F
→
11/15 13:00, , 3F
11/15 13:00, 3F
→
11/15 13:00, , 4F
11/15 13:00, 4F
→
11/15 13:01, , 5F
11/15 13:01, 5F
→
11/15 13:01, , 6F
11/15 13:01, 6F
→
11/15 13:01, , 7F
11/15 13:01, 7F
→
11/15 13:01, , 8F
11/15 13:01, 8F
→
11/15 13:38, , 9F
11/15 13:38, 9F
→
11/15 15:35, , 10F
11/15 15:35, 10F
→
11/15 15:36, , 11F
11/15 15:36, 11F
→
11/15 17:15, , 12F
11/15 17:15, 12F
→
11/15 17:16, , 13F
11/15 17:16, 13F
→
11/15 17:24, , 14F
11/15 17:24, 14F
→
11/15 19:01, , 15F
11/15 19:01, 15F
推
11/16 22:45, , 16F
11/16 22:45, 16F