[問題] 怪問題 array's address ?

看板C_and_CPP (C/C++)作者 (:))時間16年前 (2009/07/14 05:46), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/2 (看更多)
int a[5]={1,2,3,4,5}; int *ptr=a; cout << "a: " << a << endl; cout << "ptr: " << ptr << endl; cout << "&a= " << &a << endl; 看起來很簡單 a跟 ptr 一樣 沒有問題 可是不知道為什麼 a 和 &a 竟然會一樣 @ @ 這真的很奇怪...這個array 指向自己嗎 應該也不是 如果我們另外 print cout << "*a: " << *a << endl; // 1 cout << "*ptr: " << *ptr << endl; // 1 cout << "*(&a)= " << *&a << endl; // = address of a -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 128.237.237.138 ※ 編輯: javatea 來自: 128.237.237.138 (07/14 05:51)

07/14 05:49, , 1F
沒有錯。去翻書吧,這書上應該都會提到。看不懂就先背起來
07/14 05:49, 1F

07/14 07:08, , 2F
沒錯,array和function pointer都是這樣.
07/14 07:08, 2F

07/14 10:26, , 3F
是的,這是規定的。
07/14 10:26, 3F
文章代碼(AID): #1AMwj3u1 (C_and_CPP)
文章代碼(AID): #1AMwj3u1 (C_and_CPP)