考虑以下free()函数原型,该原型用于释放使用malloc()或calloc()或realloc()分配的内存。
void free(void *ptr);
请注意,自由函数不接受大小作为参数。 free()函数如何仅通过一个指针就知道要释放多少内存?
以下是存储内存大小的最常用方法,以便free()知道要释放的内存大小。
完成内存分配后,分配的实际堆空间比请求的内存大一个字。多余的字用于存储分配的大小,以后由free()使用
参考:
http://www.cs.cmu.edu/afs/cs/academic/class/15213-f10/www/lectures/17-allocation-basic.pptx
http://en.wikipedia.org/wiki/Malloc
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。