[問題] 指標的宣告

看板C_and_CPP作者 (尋找星夜)時間12年前 (2011/08/17 02:23), 編輯推噓1(109)
留言10則, 4人參與, 最新討論串1/1
int var=5; int *ptr; ptr=&var; 可縮寫成=> int var=5; int *ptr=&var; ^^^^^^^^^^^ 可是*ptr不是指向該位址的內容嗎? 為什麼這樣宣告不會變成:ptr指的內容=var的位址? 如果問得太常識 還請鞭小力一點... 謝謝 ^^" -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.118.36.8

08/17 02:24, , 1F
其實兩個 * 意思不一樣,後者我會建議把 int * 一起看
08/17 02:24, 1F

08/17 02:25, , 2F
我的"兩個"指的是 int *p=&val; 以及 *p = val; 不一樣
08/17 02:25, 2F

08/17 02:29, , 3F
意思是int *ptr=&var;中的*,僅為宣告變數型態之用嗎?
08/17 02:29, 3F

08/17 02:30, , 4F
我是這樣理解的XD 把那個*跟int綁在一起當作是一種型態
08/17 02:30, 4F

08/17 02:32, , 5F
這樣我也可以理解,謝謝! :)
08/17 02:32, 5F

08/17 02:33, , 6F
星星的兩種意義是我覺得C語言設計最奇怪的地方....
08/17 02:33, 6F

08/17 02:33, , 7F
為什麼 dereference 不能換個符號來表示呢 XD
08/17 02:33, 7F

08/17 02:34, , 8F
int *p=&x; printf("%d\n", @d); 之類的 (唔,好怪XD)
08/17 02:34, 8F

08/17 02:35, , 9F
就好像你宣告它 並直接給它初始值(var的位址)那種感覺吧
08/17 02:35, 9F

08/17 13:36, , 10F
(int*) ptr = &var; (*ptr) = (&var);
08/17 13:36, 10F
文章代碼(AID): #1EIhMgA6 (C_and_CPP)