gpt4 book ai didi

c - 释放内存的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-30 20:16:40 25 4
gpt4 key购买 nike

我正在研究 ANSI C。

我有一个用字符数组创建的字符串对象..我认为该对象造成内存泄漏..当我运行程序大约五分钟(可能几乎 10000 次迭代)时,我使用的内存变得越来越大..

我尝试使用释放和删除功能来释放对象使用的内存。但是,删除不是一个有效的函数。另一方面,免费看起来首先要跑得好。但我得到了free():无效指针..

我该如何解决这个问题?我可以做不同的事情吗?

<小时/>

这是我的一些代码..

char *ext;
ext = calloc(20, sizeof(char));
//do something with ext
free(ext);

最佳答案

在 C 中,您使用 malloc 在堆上分配内存,并使用 free 释放内存。所以你是对的。 delete 用于 C++ 中,并且仅当使用 new 运算符分配内存时才使用。

如果您在调用 free 时遇到无效指针错误,则代码中的某个位置可能存在错误,如果您将其发布,我们可以查看一下。

关于c - 释放内存的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6395147/

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