最佳答案
我在学计算机工程,我有一些电子课程。我从我的两位教授(这些课程的教授)那里听说,有可能避免使用 free()
函数(在 malloc()
、 calloc()
等之后) ,因为分配的内存空间可能不会再用于分配其他内存。也就是说,例如,如果您分配4个字节,然后释放它们,您将有4个字节的空间,可能不会再次分配: 您将有一个 洞。
我认为这是疯狂的: 你不能有一个 非玩具程序在堆上分配内存而不释放它。但是我没有足够的知识来解释为什么每个 malloc()
都必须有一个 free()
这么重要。
那么: 在什么情况下使用 malloc()
而不使用 free()
是合适的呢?如果没有,我怎么向我的教授解释呢?