valgrind条件跳转或移动错误

时间:2013-12-12 09:58:36

标签: c

我在整个论坛中搜索过,我看到很多人遇到了同样的问题,但我无法解决。 我一直得到:“条件跳转或移动取决于未初始化的值”错误在以下代码:

void printStack(stack S)
{
    node current;
    current = (node)S->last;
    while(current != NULL)
    {
        S->labelFunc(current->value);
        current = current->prev;
    }
    //free(current);
}

printStack函数正在获取堆栈并打印堆栈的元素(因为堆栈是ADT),它们是char * s。 由于一些奇怪的原因,我继续在while行上得到错误,我试图mallocing当前节点的一个地方,我尝试初始化它的prev和下一个指针,我试着检查我得到的堆栈是否为null,但所有这些是徒劳的......

labelFunc只是一个打印函数,它打印每个char *。

感谢

1 个答案:

答案 0 :(得分:1)

最可能的原因是S->last(或其中一个node->prev指针)尚未初始化。