[问题] 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