malloc/free
void * malloc(size_t num)
void free(void *p)
malloc函数只关心申请的内存的大小。
malloc申请到的是一块连续的内存,有时可能会比所申请的空间大。其有时会申请不到内存,返回NULL。
malloc返回值的类型是void *,所以在调用malloc时要显式地进行类型转换,将void * 转换成所需要的指针类型。
释放一块内存中的一部分是不被允许的。 不允许重复释放。
ree(p)是释放p所指的空间,而不是释放p本身的空间。释放堆空间后,p成了野指针。
malloc与free是配对使用的, free只能释放堆空间。
如果malloc返回的指针值丢失,则所分配的堆空间无法回收,称内存泄漏,同一空间重复释放也是危险的,因为该空间可能已另分配,所以必须妥善保存malloc返回的指针,以保证不发生内存泄漏,也必须保证不会重复释放堆内存空间。
标签:释放,void,malloc,free,内存,动态内存,空间 From: https://www.cnblogs.com/cnetsa/p/17003913.html