gpt4 book ai didi

c - 我需要释放结构中的变量吗?

转载 作者:行者123 更新时间:2023-11-30 14:36:55 25 4
gpt4 key购买 nike

我创建了一个结构体,其中包含一个变量。该结构如下所示:

typedef struct ABC {
int x;
} ABC;

现在我想释放整个结构体,我需要先释放变量吗?

ABC *p = malloc(sizeof(ABC));
p->x = 10;

free(&x); // Is this step needed?
free(p);
p = NULL;

最佳答案

假设您的意思是 p->x 而不是 x...

free(&p->x);   // Is this step needed?

绝对不是。不但不需要,而且是错误的。您无法释放不是先前分配的指针的内容。字段x是一个整数。就那么简单。换句话说,为了能够free()某些东西,您必须先分配它。

关于c - 我需要释放结构中的变量吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57747076/

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