我在this .c file中看到了这段代码。
struct node {
Item data;
struct node *next;
};
struct stack_type {
struct node *top;
};
创建两个结构时有什么好处?
答案 0 :(得分:4)
它可以使代码更清楚地区分整个堆栈和单个节点。
答案 1 :(得分:3)
他们正在寻求实现堆栈。每个节点都包含指向下一个节点的指针,但每个节点不包含指向堆栈顶部的指针。只有堆栈结构将指针存储到堆栈顶部。如果堆栈中的每个节点都指向顶部,则每个推送或弹出都必须修改每个节点。不必要的顶部指针也会浪费内存。
答案 2 :(得分:2)
通过这种方式,他们可以突出显示在整个堆栈上工作的功能。 Prototype将期望一个struct stack_type
的实例 - 你不会(据说)从堆栈中间传递struct node
。