gpt4 book ai didi

free() 函数可以在 c 中级联工作吗

转载 作者:太空宇宙 更新时间:2023-11-04 08:42:56 25 4
gpt4 key购买 nike

假设我有这段代码

struct card
{
int val;
char* type;
struct card* next;
};

struct card* new_card;
new_card = (struct card*) malloc(sizeof(struct card));

//some initialization of new_card

free(new_card);

我的问题是 - 现在当我释放 new_card 时,card 中的 type 和 next 指针是否也通过此命令级联地释放它们的内存?还是我必须先释放类型和下一个指针,然后再释放 new_card?

最佳答案

没有。在释放new_card之前,你需要手动释放new_card->next指向的卡片,以此类推,如果你想释放很多。每个 malloc() 一个 free()

关于free() 函数可以在 c 中级联工作吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22839373/

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