C 结构返回真实,但是为什么

C++ Structure returning true, but why?

本文关键字:为什么 真实 结构 返回      更新时间:2023-10-16

进行一些课程工作,我需要做一个二进制搜索树。小菜一碟应该很有趣。由于C 没有字典,因此我决定使用BST制作一个字典。我在网上找到了一些示例代码,以简短地了解它们如何组合在一起,这都是相对简单的,但是对C 来说是新的,并且来自C#环境,一件事使我陷入困惑,那就是'C'。我不明白为什么" C"在段循环中返回真实,或者为什么在左或右更改数据会影响此结果。

node* t = new node;
node* parent;
t->data;
t->left  = NULL;
t->right = NULL;
parent   = NULL;
...
    node* c;
    c = root;
    while (c)
    {
        parent = c;
        if(t->data > c->data)
        {
            c = c->right;
        }
        else //else it's assigned left
        {
            c = c->left;
        }
    }

在C和C 中,如果是null的,则将指针视为错误,否则为true。循环一直在树上行走,直到c变成无效指针。

另外,c do 有字典。查看std::mapstd::unordered_map