
→ uranusjr:你搞錯了吧, sPtr 是 ListNodePtr *, currentPtr 則是 03/20 09:11
→ uranusjr:ListNodePtr, 所以跟 *sPtr 同 type 沒錯 03/20 09:12
推 nowar100:注意看 一個型態是ListNodePtr 另一個是ListNodePtr* 03/20 09:12
這是最原本的code
http://codepad.org/Z5E8TnjU
請問126行的
ListNodePtr currentPtr;
為何可以這樣設
13行的
typedef ListNode *ListNodePtr;
又為何這樣設
他一直自訂形態搞得我頭都昏了...
※ 編輯: wind75609592 來自: 112.104.46.6 (03/20 09:26)
→ wind75609592:真得很希望看懂Linked List.謝謝 03/20 09:27
→ nowar100:我覺得你把typedef想太難了 普通式子定義變數 他定義型態 03/20 09:38
→ nowar100:就這樣而已,所以ListNodePtr是一個型態,跟ListNode* 等 03/20 09:39
→ nowar100:價 這樣的話ListNodePtr currentPtr; 定義方式跟以前沒 03/20 09:39
→ nowar100:什麼不一樣阿 就一個型態+一個變數名稱 Why not 03/20 09:39
→ wind75609592:那13行那個是一個指標的型態? 03/20 10:01
→ drumstick:請問為什麼用listNode*宣告會failed 03/20 10:42
→ drumstick:listNode 和 ListNode 不等價? 03/20 10:44
推 Ebergies:老實說雖然沒被這個困擾過但是真的不太喜歡這樣 typedef 03/20 10:44
推 Ebergies:13 行你可以這樣想 typedef ( ListNode*) ListNodePtr 03/20 10:47
→ uranusjr:ListNode 是和 struct listNode 等價, 這是 C 語言XD 03/20 11:13
推 deangogi:你打的例子 a=*b 不能跑是因為 *b是個整數 不是位址 03/20 11:43
→ deangogi:這個Linked List可以不用"pointer to pointer"來做嗎? 03/20 11:44
→ PCIT:大D自砍吧 03/20 12:14
→ PCIT:推錯篇Orz...(Sorry) 03/20 12:15
→ loveme00835:還是不建議把指標取型態別名就是... 03/20 13:04
推 Bencrie:可是微軟超愛耶 XD 03/20 13:06
推 Ebergies:微軟應該是因為常常要傳 **int 之類的東西才這樣做 03/20 14:22
→ Ebergies:不過俺還是不愛就是 lol 03/20 14:22
→ james732:不愛+1 03/20 14:27
→ akasan:可怕的是 open source 還會有 typedef t *t 之類的鬼東西.. 03/20 14:45
→ akasan: ^ 某些 03/20 14:46
→ loveme00835:typedef 不只方便, 也抽象化了原型態, 除非有啥操作值 03/20 14:50
→ loveme00835:得去這樣做, 過頭有害無益 03/20 14:51
→ wind75609592:我還是不懂13行幹嘛這樣設ㄟ.那後面到底是指標還是? 03/20 20:43
→ loveme00835:typedef ListNode *ListNodePtr; 用 ListNodePtr 型態 03/20 20:51
→ loveme00835:定義的變數都是指標, 簡單說這樣子寫只是為了省下每次 03/20 20:52
→ loveme00835:定義變數時需打上*的動作 03/20 20:52
→ wind75609592:請問102行while裡面的條件再幹嘛? 03/20 21:27
→ james732:把currentPtr移至適當的地方 03/20 21:33
→ james732:currentPtr != NULL /*非空或者還沒走到尾端*/ 03/20 21:33
→ wind75609592:另外一個條件比較看不懂 03/20 21:35
→ james732:假如串列裡存了1 3 5而value是4,currentPtr就會指到5 03/20 21:39
→ james732:接下來會把4插在3與5之間 03/20 21:39
→ james732:一開始currentPtr指向1,而在while迴圈裡移動 03/20 21:41
→ wind75609592:那如果那條件一直不成立是不是就不能指了 03/20 23:10
→ loveme00835:...有下中斷點跑跑看嗎? 03/20 23:16
推 Ebergies:老實說我不太確定為了省下 * 多打上 Ptr 這個... 03/21 10:54
→ loveme00835:某些語言就是喜歡文字大於符號呀~ 03/21 10:56
→ loveme00835:衝打字速度的話, 我是覺得Ptr比shift+8快很多 ~"~ 03/21 10:59