gpt4 book ai didi

c - 为什么 malloc 在我自己的 BST 树实现中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:10:48 25 4
gpt4 key购买 nike

这是节点定义:

typedef struct drzewo BST;
struct drzewo {
int key;
BST *left;
BST *right;
BST *p;
};

我正在尝试编写添加函数:

BST *add(  BST *root, int val)
{
BST *x = root;
BST *nowe =(BST*)malloc(sizeof(BST));


nowe->key = val;
nowe->left=nowe->right=nowe->p=NULL;
...
}

但当 root=NULL 或其他错误(在 Windows 上写入)时,malloc 似乎会导致段错误。为什么会这样?

最佳答案

我怀疑,在 ... 中,您有一个分配给(或读取自)x->leftx->right,以便于将新分配的节点链接到树中。如果 root 为 NULL,这应该会失败。

关于c - 为什么 malloc 在我自己的 BST 树实现中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8754417/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com