[問題] C語言 鍊結串列實作Stack問題

看板C_and_CPP作者 (ㄚ冰)時間8年前 (2017/01/18 00:37), 編輯推噓4(401)
留言5則, 5人參與, 最新討論串1/1
開發平台(Platform): (Ex: Win10, Linux, ...) win10 Dev-C++ : GCC 問題(Question): 最近都在念書只在那邊空想pseudocode,然後突然想說來實作一下就做不出來了 push & pop 函式: void push(Stack* top, int n){ Stack* node=(Stack*)malloc(sizeof(Stack)); node->data=n; node->next=top; top=node; } int pop(Stack* top){ int n=top->data; Stack* temp=top; top=top->next; free(temp); return n; } 完整程式碼 http://ideone.com/IaFtoG 求解我是錯在哪QQ!! -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 220.136.196.112 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1484699847.A.ABF.html

01/18 09:02, , 1F
push和pop的top要傳參考,請了解傳值和傳參考的差別
01/18 09:02, 1F

01/18 09:51, , 2F
Main裡的Top一直是null QQ
01/18 09:51, 2F

01/18 09:51, , 3F
你要改node 的pointer 就要傳pointer to pointer
01/18 09:51, 3F

01/18 09:53, , 4F
去看看置底第十三戒的圖 概念差不多
01/18 09:53, 4F

01/19 23:44, , 5F
top = node 是沒義意的吧
01/19 23:44, 5F
文章代碼(AID): #1OVhZ7g_ (C_and_CPP)