free()如何知道要释放的内存大小?
在free()
同时使用分配的功能是用来释放内存malloc()
,calloc()
和realloc()
。free的语法很简单。我们只需将free与指针一起使用。然后可以清理内存。
free(ptr);
在free()
没有任何规模大小取作参数,但只有指针。所以问题来了,free()
函数如何知道要释放的块的大小?
当我们使用动态内存分配技术进行内存分配时,这是在实际堆部分中完成的。它创建一个比要求的大小大一个字。这个多余的单词用于存储大小。free()
要清除内存空间时使用此大小。