想知道free如何工作那肯定需要知道malloc如何工作,正所谓怎么来的就怎么回去。
使用malloc
分配内存时候根据参数指定的大小,分配一块内存,然后返回这块内存的起始位置给调用者,这就是调用者拿到的所谓的指针。
起始这个指针并不是真正的起始位置,真正的指针在malloc
返回指针 p 的前面,内存分配器在 p 的前面用两个字节的空间来存放分配的内存大小信息。
看下图:
内存释放free函数如何知道内存大小
最新推荐文章于 2024-07-25 11:42:14 发布
想知道free如何工作那肯定需要知道malloc如何工作,正所谓怎么来的就怎么回去。
使用malloc
分配内存时候根据参数指定的大小,分配一块内存,然后返回这块内存的起始位置给调用者,这就是调用者拿到的所谓的指针。
起始这个指针并不是真正的起始位置,真正的指针在malloc
返回指针 p 的前面,内存分配器在 p 的前面用两个字节的空间来存放分配的内存大小信息。
看下图: