关于malloc和free的内存有关问题

关于malloc和free的内存问题
我有个疑问:比如有一个指针point,用malloc 给它分配块内存。然后通过point指针将一串字符串存到该内存中。字符串以'\0'结尾,长度比该块内存小。然后用free(point) 释放内存的时候,是释放了整块内存的吧,用什么记录了这块内存的。我是说,怎么不是释放到'\0'就结束了?

------解决方案--------------------
呵呵,按照你想法我要申请int[n]把整形复制进去连'\0'都没有,怎么释放?

堆管理器负责申请堆空间,如果是堆链表(一种形式),会有一个结构,里面有指针指向申请的内存(看成一个节点),还有一个值用来记录申请的大小~
------解决方案--------------------
引用:
应用程序调用“操作系统的内存管理模块”提供的malloc函数申请得到的内存,后来调用free函数释放之后,“操作系统的内存管理模块”并没有删除或改变其内容,
而只是记住这片内存以后有谁调用malloc的话可以被再利用了。