gpt4 book ai didi

c - 将动态分配的内存释放给我正确创建的结构

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

在我的作业中,我使用自己创建的结构。问题是,当释放分配的内存时,我应该首先释放它的结构字段足以调用 free(ptrToStruct) 吗?

struct Prof{
char* first_name;
char* second_name;
char** trained_classes;
int count_of_assigned_classes;
int max_classes_to_take;
int count_of_trained_classes;
int assigned_to_untrained;
};

最佳答案

没有。如果您的结构中有指向堆分配内存的指针,则应首先释放它们。原因是结构内的指针指向的区域位于堆的其他部分。释放指向结构本身的指针只会释放结构的内存区域,而不会释放结构内部指针指向的关联内存区域。

关于c - 将动态分配的内存释放给我正确创建的结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55796120/

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