【发布时间】:2021-06-06 14:18:28
【问题描述】:
我是 C 编程的新手,一直在搞乱内存管理的东西。我有几个问题都与一个场景有关(我会用粗体表示问题)。如果我要分配 10 个字节(使用 malloc)的内存,但只使用它来存储一个 int(4 个字节)
,那么我正在做的一个简化版本是这会导致内存方面的问题吗?
多余的内存会怎样?
必须手动释放还是有办法自动释放?
我是不是应该不费吹灰之力,提前确定合适的尺寸?
感谢您提供的任何帮助,非常感谢
【问题讨论】:
-
1.不,如果你当然释放它。 2.什么都没有,它会保持未初始化状态(除非你使用calloc),如果/当你释放内存时,额外的内存也会消失。 3.手动使用free()。 4. 使用您需要的内存量。如果您认为以后需要更多,请分配更多。如果您没有足够但需要更多,请使用 realloc。
标签: c windows memory memory-management