[問題] Linked list問題請教

作者: sbk8027 (小朱)   2016-04-13 22:24:21
各位前輩大家好 小弟這兩天在自學遇到一些問題麻煩想請教版上高手
小弟用Dev c++ 練習
程式碼如網址http://codepad.org/gJOLUkJB
我覺得我有點搞混call by value跟 call by pointer了
關於第16行的
ListNodePtr startPtr=NULL;
我想請問一下應該是指向NULL還是指向struct,感覺我有點搞混了
我一直覺得是指向NULL長這樣startPtr
作者: kwpn (ITSST)   2016-04-13 23:32:00
*sPtr不是字串也不是字元,你想看字元應該是data吧
作者: CaptainH (Cannon)   2016-04-13 23:36:00
沒有call by pointer這種東西
作者: ronin728 (浪人)   2016-04-14 00:05:00
36行那是newPtr本身的位置,37行那是newPtr所指向物件的位置。是說,才兩天直接上Linked list會不會太快? XD指向NULL代表這個節點後沒有串接節點設成別的Node的pointer才代表掛上去你會問這些問題代表你Pointer很不熟,建議往回看看
作者: ko27tye (好滋好滋)   2016-04-14 00:24:00
你的code我怎麼跑 輸出都只有?startptr一開始指向NULL 後來會經由insert函式指向struct我大概知道你問題在哪了 typedef ListNode *ListNodePtrListNodePtr已經是指標了 insert的參數列用ListNodePtr *sPtr 變成指向指標的指標你很多地方都多加一顆* 然後printf的問題我不清楚,但我改用cout可以正常輸出
作者: ronin728 (浪人)   2016-04-14 02:18:00
是說用上double pointer,其實個小花招
作者: longlongint (華哥爾)   2016-04-14 02:57:00
想成填表格會不會比較簡單?
作者: Frozenmouse (*冰之鼠*)   2016-04-14 04:28:00
照你的insert函式設計邏輯來說,一開始16行指向NULL表示該LinkedListPtr代表一空List一開始看別人上課講義也有這樣設計,腦袋也轉不太過來XD 我比較習慣不把NULL當List看待的設計36,37行一個是newPtr的址,一個是newPtr的值,而指標的值就是位址這也是為何我們說沒有call-by-pointer這回事,全部都是value57,58行想把串列指標當字串或字元輸入是不是搞錯什麼*輸出

Links booklink

Contact Us: admin [ a t ] ucptt.com