[問題] linklist+segmentation fault

看板C_and_CPP (C/C++)作者 (EEcheng)時間8年前 (2018/01/06 11:29), 編輯推噓5(5020)
留言25則, 4人參與, 8年前最新討論串1/1
先附上程式碼 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://www.ptt.cc/bbs/C_and_CPP/M.1515209369.A.479.html

01/06 11:36, 8年前 , 1F
未看先猜不是用動態記憶體配置
01/06 11:36, 1F

01/06 11:42, 8年前 , 2F
你的t只有41行 會assign
01/06 11:42, 2F

01/06 11:43, 8年前 , 3F
所以50行的t->不是每次都有東西
01/06 11:43, 3F

01/06 11:44, 8年前 , 4F
你應該先把編譯器warning開到最大
01/06 11:44, 4F

01/06 11:46, 8年前 , 5F
不對 你42行就return 所以50行永遠拿不到t
01/06 11:46, 5F

01/06 11:48, 8年前 , 6F
給個測資吧,比較好抓
01/06 11:48, 6F

01/06 11:48, 8年前 , 7F
介面最好切開 先做container再套入資料 不要混著寫
01/06 11:48, 7F

01/06 12:01, 8年前 , 8F
goo.gl/vH8y81 壓縮檔裡面記事本為測資
01/06 12:01, 8F

01/06 12:25, 8年前 , 9F
S大,剛剛我有在50行新加你說的問題了,但還是不行
01/06 12:25, 9F

01/06 12:26, 8年前 , 10F

01/06 12:51, 8年前 , 11F
你54~57不太對吧?
01/06 12:51, 11F

01/06 12:52, 8年前 , 12F
你這樣兩條link list就混在一起了
01/06 12:52, 12F

01/06 12:57, 8年前 , 13F
看起來你是想要把route一個一個拔到group裡,但是你沒
01/06 12:57, 13F

01/06 12:57, 8年前 , 14F
有拔乾淨
01/06 12:57, 14F

01/06 12:59, 8年前 , 15F
j大,我在那個函數裡面只有用一條+一個點(node)
01/06 12:59, 15F

01/06 13:00, 8年前 , 16F
沒錯我想這麼做,但請問拔乾淨是指?
01/06 13:00, 16F

01/06 13:03, 8年前 , 17F
你要拔node的話next要null,所以你main也要改
01/06 13:03, 17F

01/06 13:21, 8年前 , 18F
把你的編譯器warning開到最大 不會的話去學
01/06 13:21, 18F

01/06 13:22, 8年前 , 19F
然後你group也要初始化,大概這樣
01/06 13:22, 19F

01/06 13:23, 8年前 , 20F
同意s大,你還蠻多地方寫很髒,這樣容易有問題
01/06 13:23, 20F

01/06 13:58, 8年前 , 21F
我用gcc -Wall 去看,除了出現warning: 的訊息外
01/06 13:58, 21F

01/06 13:58, 8年前 , 22F
其他還有跑出資料夾路徑 那些也是警告嗎
01/06 13:58, 22F

01/07 08:40, 8年前 , 23F
新手寫linked list,最好先用計算紙清楚討論各種情
01/07 08:40, 23F

01/07 08:40, 8年前 , 24F
況,不然co下去一定錯誤百出
01/07 08:40, 24F

01/07 08:41, 8年前 , 25F
也最好把自己寫的list包成class模組化,較好debug
01/07 08:41, 25F
文章代碼(AID): #1QK4APHv (C_and_CPP)
文章代碼(AID): #1QK4APHv (C_and_CPP)