看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《jang2891 (~隱~)》之銘言: : 在看例題的時侯有一段大約如下 : EX: : int a[5]={1,2,3,4,5}; : int *ptr=a; : for(int i=0;i<5;i++) : cout<<"a["<<i<<"]="<<*(ptr++)<<endl; : 這樣可以利用指標的方式來印出陣例的每個值 : 那如果我要印"位址"出來要怎麼做啊… : 我有試過用&(ptr++)和&(ptr+i),可是編釋的結果是錯的 ptr++ 不是l-value 不能取& : 請問要用ptr來印出每個值的位址要怎麼做? : 我之前有用過ptr+i來印 可是有個問題是a[0]的位置不是應該和ptr+i(i=0)的位置一樣嗎 ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ 註1 註2 註1 : a[0]的位置 = &a[0] 註2 : ptr+i(i=0)的位置 = &(ptr+i) : 可是出來的位址是不同…먊: 是我觀念錯嗎(位址一樣),還是位址本來就不同 -- 我的露天拍賣: http://tinyurl.com/6z4rw7 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.169.1.229
VictorTom:ptr+i也不是l-value不能取址 (&) 吧?_? 08/17 09:58
finding2005:lvalue是指 = 等號的左邊, ptr+i 沒有等號 08/17 12:36
finding2005:沒看清楚= = ... 一樓才是對的! 08/17 12:38
walm20:只是 描述他的中文而已 08/17 13:11
walm20:請問 c++ 可以這樣寫 a[0]的位置??? 08/17 13:12
walm20:要不要也說說看a[0]的位置 = &a[0] 等於是錯誤的 08/17 13:13
walm20:難道要看成assign? 08/17 13:16
VictorTom:小弟只是補足您回文的第一句話, 後面有註那邊其實我看不 08/17 13:33
VictorTom:懂所以根本沒仔細注意....Orz 08/17 13:34