gpt4 book ai didi

c++ - 指针初始化 : When to assign NULL to the initialized pointer?

转载 作者:行者123 更新时间:2023-11-30 00:39:35 24 4
gpt4 key购买 nike

typedef struct nodetype 
{
int data;
struct nodetype * left;
struct nodetype * right;
}node;

typedef node * tree;

tree newNode(int data)
{
tree temp;
temp = NULL;
temp = (tree)malloc(sizeof(nodetype));
temp->data = data;
temp->right = NULL;
temp->left = NULL;
return temp;
}

在函数 newNode 中,为了创建一个节点,我们将 NULL 值分配给“temp”。我不明白这是否有必要。如果我们不使用 NULL 初始化它会有什么影响,在什么情况下我应该注意在初始化它时将 ptr 分配给 NULL ??

最佳答案

这是完全没有必要的,因为它会立即被 malloc() 覆盖,这将在分配失败时将其设置为... NULL,这意味着代码有错误!

应该有:

if (!temp)
return temp;

就在 malloc() 之后。

关于c++ - 指针初始化 : When to assign NULL to the initialized pointer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8548344/

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