gpt4 book ai didi

c - 释放传递给分配它的函数的指针

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

我有一个函数,其中 malloc 用于分配一个指针,该指针被传递给另一个函数,然后再传递给另一个函数,最后使用它。

我的问题是,我可以在最终函数中为分配的指针调用 free 吗?或者我需要调用调用 malloc 的函数。

面临的问题是,我们看到了内存泄漏,因为这个分配的指针的空闲直到现在都没有编码。所以我的工作是立即修复内存泄漏。

最佳答案

严格来说,您可以在任何地方释放它,只要您在上次使用后恰好一次释放它。 1MM 的问题是您如何根据 future 的使用轻松地执行此操作?传递具有所有权转移语义的指针通常是不好的。通常,通过分配转移返回指针也很糟糕。如果您设计一个 API,请考虑抽象被分配的对象并具有分配/释放函数(例如 allocate_widgetfree-widget)。 API 使用不应该知道 widget 是用 malloc() 分配的,必须用 free() 释放。

关于c - 释放传递给分配它的函数的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19762820/

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