为什么我总是听说在 C 语言中可以避免分配内存?

Bob*_*nis 1 c malloc memory-management

我总是被告知,只要我可以在没有内存的情况下实现完全相同的事情,就不要分配内存。
人们是否这么说是因为释放代码中的内容可能需要一些时间,还是有一个以效率为导向的解释?(例如更好的性能)

Ste*_*mit 5

作为对已接受答案的反驳:

\n

malloc虽然在不需要时避免使用确实是个好建议,但在确实需要时知道如何正确使用它很重要 \xe2\x80\x94 因为很多时候你确实需要它!事实上,我什至可以说,几乎任何对数据进行有趣操作的程序都希望为该数据动态分配内存。

\n

例如,如果您正在编写一个文本编辑器,则您不会希望将用户限制为在编写文本编辑器 \xe2\x80\x94 时静态分配的固定最大文本行数。我们希望为用户在任意一天编辑的文本行数分配数据结构。也许只是几个,也可能是一个巨大的数字。

\n

确实,如果malloc使用不当,可能会出现很多错误。但也有很多编码模式可以malloc安全、方便地使用。这些模式值得学习和使用!

\n