malloc 分配的内存,free 怎么知道要释放的大小?
考察说明
考察对内存分配器元数据管理与内存管理原理的理解
回答思路
- 能指出 free 不依赖参数,而是从指针前/附近的头部元数据获取大小
- 提及内存分配器(如 glibc ptmalloc)在分配时记录的 chunk 头信息(size、flags 等)
- 说明 free 利用指针定位到 chunk 头,验证并回收内存块
- 提到边界标记、bin 链表或空闲链表等管理手段
- 避免错误解释为依靠额外数据结构或全局查找
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。