Re: [問題] 指標和陣列的問題
http://descent-incoming.blogspot.tw/2012/10/c-pointer-vs-array-and-they-are.html
short: http://goo.gl/SrWht
最近剛好也注意到這問題, 就寫了一篇,
我把整個 memory layout 畫出來, 希望這樣有清楚些。
有什麼錯誤也歡迎指證。
※ 引述《sunlights (sunlights)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: Dev-C++
: 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...)
: 無
: 因為有個問題一直想不通指標就一直學不下去..
: 現在想問一下
: int a[]={12,5,3};
: 有人說a可當成指標..
: 所以
: *(a+0)=12
: *(a+1)=5
: *(a+2)=3
: 而 &a[0]= a+0 = 存放12的位址暫設成xxx
: &a[1]= a+1 = 存放5的位址暫設成xxx+1
: &a[2]= a+2 = 存放3的位址暫設成xxx+2
: 可是我一直想不通的問題是 a 到底是不是指標
: 如果是指標的話..它應該是存著指標的變數..
: 但通常存指標的變數也有它的位址..
: 而a的位址卻剛好和存放陣列的第一個位址相同
: 那是否也代表&a=a+0=&a[0]???
: 那&a+1是否也等於a+1=&a[1]呢??
: 我在Dev C 上 執行
: 發現 &a[1]=a+1 =\= &a+1
: 為什麼呢??
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 59.125.239.51
→
10/05 09:32, , 1F
10/05 09:32, 1F
推
10/05 09:52, , 2F
10/05 09:52, 2F
→
10/05 09:52, , 3F
10/05 09:52, 3F
→
10/05 10:34, , 4F
10/05 10:34, 4F
推
10/05 10:39, , 5F
10/05 10:39, 5F
→
10/05 10:41, , 6F
10/05 10:41, 6F
→
10/05 10:42, , 7F
10/05 10:42, 7F
→
10/05 21:54, , 8F
10/05 21:54, 8F
→
10/05 22:54, , 9F
10/05 22:54, 9F
推
10/06 01:59, , 10F
10/06 01:59, 10F
→
10/06 02:19, , 11F
10/06 02:19, 11F
※ 編輯: descent 來自: 59.125.239.51 (10/12 08:56)
討論串 (同標題文章)