[問題] 請教一下function跟pointer

看板C_and_CPP (C/C++)作者 (cchichi)時間13年前 (2012/10/18 14:15), 編輯推噓3(306)
留言9則, 7人參與, 最新討論串1/1
小弟最近在練習程式 發現一個問題 觀念不太清楚想請教一下 int main() { int *a ; *a = 20; modify(a,30); printf("%d\n" , *a); return 0; } void modify( int *b , int value){ int *c = value; b = c; } 所預期的結果是會印出30 不懂的是 我將a的指標傳進去後,function裡面改變的應該是位址的值才對 可是出來後a沒有改變@@"...可以請教一下原因嗎 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 111.251.205.62

10/18 14:23, , 1F
modify裡面c不用加*吧
10/18 14:23, 1F

10/18 14:23, , 2F
然後b要加*
10/18 14:23, 2F
謝謝!!@@ ※ 編輯: lovebluetea 來自: 111.251.205.62 (10/18 14:51)

10/18 14:51, , 3F
你的指標a指向的未知的位址,不覺得抖抖的嗎? @@
10/18 14:51, 3F

10/18 14:56, , 4F
呼叫 EdisonX 圖解
10/18 14:56, 4F

10/18 15:19, , 5F
這問題以前有寫過 http://0rz.tw/HD0eg , 5.6 看完就是了.
10/18 15:19, 5F

10/18 17:10, , 6F
寫程式不要這麼勇敢,好歹也 int a,*b; b = &a;
10/18 17:10, 6F

10/18 17:37, , 7F
哈 謝謝各位大大的指教 不過這個只是測試用
10/18 17:37, 7F

10/18 17:37, , 8F
指向一個未知的位址真的是很可怕XDD
10/18 17:37, 8F

10/18 22:29, , 9F
*a = 20;真的是一種很神奇的寫法
10/18 22:29, 9F
文章代碼(AID): #1GVvvw3h (C_and_CPP)
文章代碼(AID): #1GVvvw3h (C_and_CPP)