[問題] 陣列這個變數的位置
想請問一下
int a[3] = {1,2,3};
cout << a << endl;
cout << &a << endl;
為什麼印出來會是一樣的
照理說 a這個變數 有本身它自己所在的記憶體位置啊
我知道 "陣列不等於指標" 只是有時可以decay成指標
難道是因為這點
Compiler特別設計 自動把 &a 看成 &a[0]嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.229.222
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1413769231.A.E96.html
推
10/20 09:50, , 1F
10/20 09:50, 1F
→
10/20 09:51, , 2F
10/20 09:51, 2F
如果 &a跟 &a[0]的值相等
這樣子很奇怪耶...
a的值 應該是要 a[0]的位置
那麼不就變成
所使用的記憶體位置 上面的值
a 0x7fff5daa 0x7fff5daa
a[0] 0x7fff5daa 1
這樣不就 同一個記憶體位置 卻有兩個不同的值?
※ 編輯: musicJD (1.34.229.222), 10/20/2014 10:42:02
推
10/20 11:00, , 3F
10/20 11:00, 3F
→
10/20 11:05, , 4F
10/20 11:05, 4F
→
10/20 12:16, , 5F
10/20 12:16, 5F
→
10/20 12:42, , 6F
10/20 12:42, 6F
→
10/20 12:43, , 7F
10/20 12:43, 7F
→
10/20 16:30, , 8F
10/20 16:30, 8F
→
10/20 22:15, , 9F
10/20 22:15, 9F
推
10/25 01:36, , 10F
10/25 01:36, 10F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章