作者eecheng87 (EEcheng)
看板C_and_CPP
标题[问题] linklist+segmentation fault
时间Sat Jan 6 11:29:24 2018
先附上程式码
https://ideone.com/CMiomt
稍微解释一下我想做甚麽,首先先把一堆资料(包含IP,len)用linklist
串起来,头命名为routing_head,接着透过d(已知)和segment函数将那条
链结序列分成多条链结序列(该分到哪一条的依据在segment函数内,依据是
看当前指到的那个资料的IP前几个(由d决定)位元为多少就分到第几个
group[index]),再透过insert_prefix将当前指到的资料插入(按照大小)
以下为 作法(流程图) 和 想法(流程图)
https://imgur.com/a/V8Uuk
错误讯息只有segmentation fault(跑了一段时间才出现,应该第一条序列有
建立好了,第一个步骤那条)请问我哪个部分有问题呢?
另外我这种作法,是否在main函数print( ...group[0].next->IP)就会印出
分组完的那个位置的数字呢?
谢谢各位拨空看完
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.238.131.125
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1515209369.A.479.html
1F:推 Sidney0503: 未看先猜不是用动态记忆体配置 01/06 11:36
2F:→ Sidney0503: 你的t只有41行 会assign 01/06 11:42
3F:→ Sidney0503: 所以50行的t->不是每次都有东西 01/06 11:43
4F:→ Sidney0503: 你应该先把编译器warning开到最大 01/06 11:44
5F:→ Sidney0503: 不对 你42行就return 所以50行永远拿不到t 01/06 11:46
6F:推 jobsdone: 给个测资吧,比较好抓 01/06 11:48
7F:→ Sidney0503: 介面最好切开 先做container再套入资料 不要混着写 01/06 11:48
8F:→ eecheng87: goo.gl/vH8y81 压缩档里面记事本为测资 01/06 12:01
9F:→ eecheng87: S大,刚刚我有在50行新加你说的问题了,但还是不行 01/06 12:25
11F:→ jobsdone: 你54~57不太对吧? 01/06 12:51
12F:→ jobsdone: 你这样两条link list就混在一起了 01/06 12:52
13F:→ jobsdone: 看起来你是想要把route一个一个拔到group里,但是你没 01/06 12:57
14F:→ jobsdone: 有拔乾净 01/06 12:57
15F:→ eecheng87: j大,我在那个函数里面只有用一条+一个点(node) 01/06 12:59
16F:→ eecheng87: 没错我想这麽做,但请问拔乾净是指? 01/06 13:00
17F:推 jobsdone: 你要拔node的话next要null,所以你main也要改 01/06 13:03
18F:推 Sidney0503: 把你的编译器warning开到最大 不会的话去学 01/06 13:21
19F:→ jobsdone: 然後你group也要初始化,大概这样 01/06 13:22
20F:→ jobsdone: 同意s大,你还蛮多地方写很脏,这样容易有问题 01/06 13:23
21F:→ eecheng87: 我用gcc -Wall 去看,除了出现warning: 的讯息外 01/06 13:58
22F:→ eecheng87: 其他还有跑出资料夹路径 那些也是警告吗 01/06 13:58
23F:推 alan23273850: 新手写linked list,最好先用计算纸清楚讨论各种情 01/07 08:40
24F:→ alan23273850: 况,不然co下去一定错误百出 01/07 08:40
25F:→ alan23273850: 也最好把自己写的list包成class模组化,较好debug 01/07 08:41