[問題] 用stack做出遞迴效果

看板C_and_CPP (C/C++)作者 (splasky)時間9年前 (2016/07/23 01:13), 9年前編輯推噓0(007)
留言7則, 1人參與, 最新討論串1/1
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) ubuntu 16.04 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 用一個stack想做出類似遞迴的效果,不過想要將node pop出來時, 第58行的free會產生錯誤,而且從第一個node以後的value的資料都不太正確 還請各位不吝指教 謝謝 餵入的資料(Input): 任意資料夾位置 預期的正確結果(Expected Output): 會印出該目錄下的所有資料夾和檔案 錯誤結果(Wrong Output): SIGABRT,其實我不太懂這是什麼意思? 程式碼(Code):(請善用置底文網頁, 記得排版) http://codepad.org/7RuetES5 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.170.44.160 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1469207594.A.8EF.html

07/23 02:30, , 1F
Line 26: sizeof(stack) 大小寫有無搞錯?
07/23 02:30, 1F

07/23 02:44, , 2F
我把這邊的stack改成Stack就OK了
07/23 02:44, 2F

07/23 02:44, , 3F
stack是你pointer的大小,這邊Stack才是你要的
07/23 02:44, 3F
還是無法 不過stack 確實是打錯了沒錯 Stack才對 ※ 編輯: splasky (1.170.44.160), 07/23/2016 02:57:41

07/23 04:13, , 4F
我在我的ubuntu上改完就能跑了阿
07/23 04:13, 4F

07/23 04:13, , 5F
只是你的程式有記憶體沒完全釋放的問題...
07/23 04:13, 5F

07/23 04:28, , 6F
get_directory那邊strncpy怪怪的
07/23 04:28, 6F

07/23 04:28, , 7F
concat_string那邊calloc是0?
07/23 04:28, 7F
阿 發現問題了 要把calloc改成1 謝謝大大的提點! 原本還在納悶為什麼我要把該node釋放掉都會有core dump XD" ※ 編輯: splasky (111.71.221.36), 07/23/2016 08:41:16
文章代碼(AID): #1NabGgZl (C_and_CPP)
文章代碼(AID): #1NabGgZl (C_and_CPP)