初始化此结构时出现问题:

struct node {
    int label;
    struct node *lchild;
    struct node *rchild;
}

int main(void) {
    struct node n1;
    n1.label = 1;

    return EXIT_SUCCESS;
}

问题是我的成员lchildrchild不指向空。
我可以通过添加
n1.lchild = NULL;
n1.rchild = NULL;

但我不明白为什么我要这么做?

最佳答案

我不明白我为什么要那样做
因为编译器不是为你做的。
你可以跳过这个,以防你可以确保成员在被写入之前没有被读取。

关于c - 用NULL值初始化结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33517385/

10-12 13:55