gpt4 book ai didi

c - 为什么在函数中 malloc 内存并在外部释放它是个坏主意?

转载 作者:太空狗 更新时间:2023-10-29 16:39:28 25 4
gpt4 key购买 nike

如果这是个坏主意,如何在函数中分配内存?

最佳答案

这不是一个“坏主意”,而是“有时是一个坏主意”,这可以说是编程中的许多想法。

顺便说一句,在函数内部分配内存并在外部释放它可能是一种常见的设计模式。考虑:

// hashtable is a typedef-ed pointer type
hashtable ht = hashtable_new();
// .. do something with hashtable
hashtable_free(ht);

ht 在函数 hashtable_new 中分配并在其外部释放,但您会在许多优秀的 C 代码中反复看到这种模式。

然而,它确实显示了相同的逻辑单元(哈希表 ADT)如何处理分配和取消分配。这很有意义——因为知道如何分配的人最了解如何解除分配。在不同的逻辑单元中分配和释放通常不是一个好主意。

关于c - 为什么在函数中 malloc 内存并在外部释放它是个坏主意?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2549981/

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