gpt4 book ai didi

c - 如何在 C 中自动释放多个 malloc?

转载 作者:太空宇宙 更新时间:2023-11-04 00:36:38 24 4
gpt4 key购买 nike

我想在 C 程序结束时自动释放多个malloc内存。

例如:

str1 = malloc(sizeof(char) * 10);
str2 = malloc(sizeof(char) * 10);
str3 = malloc(sizeof(char) * 10);

我不想要这样的功能:

void   my_free()
{
free(str1);
free(str2);
free(str3);
}

而是一个释放程序期间分配的所有内存的函数。

最佳答案

but a function which free all the memory allocated during the program.

C 中没有这样的函数。C 不会自动进行内存管理。因此,您有责任跟踪内存分配并适本地释放它们。

大多数现代操作系统(也许不是嵌入式系统)会在进程终止时回收执行期间分配的内存。所以你可以跳过调用 free()。但是,如果您的应用程序是一个长时间运行的应用程序,那么如果它不断分配内存,这将成为一个问题。根据您的应用程序,您可以设计一种策略来适本地释放内存。

关于c - 如何在 C 中自动释放多个 malloc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31288406/

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