看板 C_and_CPP 關於我們 聯絡資訊
請問各位大大 小弟最近在練習使用指標的方法 在練習一個範例時遇到問題 程式碼如下: http://codepad.org/1Y3z0qEc 為何最後顯示出來的數字會是會是這的結果= =a 尤其是陣列m[1]為何是100?? b為何是20?? 謝謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.157.47
wawi2:b=20是因為call by value,值不會被改變 陣列的話是因為 06/23 14:28
wawi2:他是傳m[1]的位址進去 所以函式裡面改a[0],其實是改m[1] 06/23 14:29
wodada:謝謝樓上的解答^^ 06/23 14:55
loveme00835:防雷頁? 06/23 15:47
wodada:那我想在請問一下,為何*p=20而不是100,難道原因也是像b一 06/23 15:55
wodada:樣嗎?? 06/23 15:55
angleevil:版主在你後面,他在暗示你 06/23 15:57
loveme00835:沒啦 XDD 06/23 16:00
loveme00835:*p=20 關鍵在 11、12 行, 跟函數沒關 06/23 16:02
※ 編輯: wodada 來自: 114.39.157.47 (06/23 16:30)
angleevil:http://pastie.org/2110181,這算是新手13誡的問題 06/23 16:47
azureblaze:http://ppt.cc/-0L8 指標搞不懂就畫圖 06/23 17:00
james732:我想問原po: http://codepad.org/KfWac6BO 06/23 17:09
james732:上面這段程式碼的 1~4 裡,哪些會讓你覺得奇怪? 06/23 17:09
EdisonX:http://0rz.tw/cl038 4.5.7 , 參考一下. 06/23 20:45
wodada:抱歉...剛剛考期末考,所以沒上線 06/23 21:19
wodada:等下我再把各位給的程式碼好好研究,有問題再問 06/23 21:19
angleevil:先搞懂james的問題,再問...不然一直狂貼問題... 06/23 21:26
wodada:經過專研之後,james大的程式碼最後一個還是一知半解?? 06/25 20:05
angleevil:f3(array + 1);<--代表你給a的位置是array[1],所以一切 06/27 09:00
angleevil:是從array[1]開始動作.恩.雖然我也常這樣搞.但是完整例 06/27 09:00
angleevil:子也是第一次看到,james的例子不錯,有幫我釐清一下觀念 06/27 09:01