【发布时间】:2012-10-25 20:46:10
【问题描述】:
所以我只是想知道这个将新值推送到链表堆栈顶部的推送函数是否正确
void push(node** hd, int v){
node temp;
temp = (node*)malloc(sizeof(node));
temp -> val = v;
temp -> next = *hd;
*hd = temp;
}
提前致谢!
我还想知道如何创建一个弹出函数,将最近推送的值从堆栈中弹出。
顺便说一下,结构体代码是这样的……
typedef struct nodeStruct
{
int val;
struct nodeStruct* next;
}node;
typedef node* list;
【问题讨论】:
-
看起来肯定有问题。 SUGGESTION:为什么不在调试器下编译运行呢?
-
我不知道如何使用我的 gdb 调试器,因为我没有时间完成这个我一定会为将来学习它.. :\ 如果问题很明显我想要只知道。这是我第一次使用链接列表,而且我对 C 语言中的指针不太擅长。
-
您的编辑实际上让事情变得更糟。请重新阅读@William Morris 的答案。 (我同意:类型定义指针只会增加混乱)
标签: c list pointers linked-list stack