【发布时间】:2013-07-22 03:15:21
【问题描述】:
大家好,我的 C 代码有这个问题。 我正在实现一个堆栈,每当我弹出它时,它都会更改函数 pop 中的堆栈,但不会更改原始堆栈。 请帮忙。
这是我的代码
char pop(Node* top)
{
char result ;
if (size == 0) // The stack is empty.
{
return '\0' ;
}
else //The stack contains at least one element .
{
result = top->opp ;
top = top->next ;
}
size-- ;
return result;
}
【问题讨论】:
-
通过查看代码,我建议您进行一些编辑 1. 你不要删除在开始时传递给你的
top,所以这是内存泄漏,2. 因为它是堆栈,所以你不要'不需要size,您可以简单地检查if(top != NULL)表示堆栈不为空...
标签: c function pointers reference stack