c - 如何在 C 中跟踪动态分配的内存

标签 c memory

我们在 C 中使用 malloc() 动态分配内存,并接收指向堆中某个位置的指针。 现在我们使用 free() 释放内存,传递与其 argumnet 相同的指针值。

现在的问题是 free() 如何知道要释放多少。考虑到我们总是可以调整 malloc() 分配的内存块的大小。

这里有什么与哈希表相关的吗?

最佳答案

典型的实现会在 malloc 返回的地址之前存储信息。该信息将包括 realloc 或 free 需要知道的信息以完成其工作,但具体存储内容的详细信息取决于实现。

关于c - 如何在 C 中跟踪动态分配的内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16351576/

相关文章:

c - dup2/dup - 为什么我需要复制文件描述符?

Java 大数数据类型

无法使用 MinGW 编译之前修改的 Nethack - 缓存问题?

C - 了解结构的值设置模式

objective-c - 可以为 block 中的自动合成属性使用下划线(强引用循环)

c++ - 什么决定了原始数据类型的大小?

python - 如何限制用于存储整数的内存量?

c - gcc 错误 - typedef 已初始化(改用 decltype)

c - 在 C 中,像这样复制数组是不可能的。为什么?和最好的技巧

从字符串转换为 float