gpt4 book ai didi

c - 使用指针和非指针变量释放结构体

转载 作者:行者123 更新时间:2023-12-02 01:21:32 25 4
gpt4 key购买 nike

我正在尝试使用 c 结构实现链表,我使用 malloc 分配一个新节点,然后为 value 分配空间,所以我一直在考虑如何释放该结构完成了它们,我的结构如下所示:

typedef struct llist {
char *value;
int line;
struct llist *next;
} List;

我有一个函数可以遍历结构并释放其成员,如下所示:

free(s->value);
free(s);

我的问题是,这是否也释放了 int 行

最佳答案

是的。

int 行 是结构的一部分,因此当您释放结构时也会被释放。 char *value 也是如此。但是,这不会释放 value 指向的内存,这就是为什么您需要为此单独调用 free 的原因。

关于c - 使用指针和非指针变量释放结构体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3647350/

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