码迷,mamicode.com
首页 > 其他好文 > 详细

关于malloc及free

时间:2020-04-13 11:57:57      阅读:57      评论:0      收藏:0      [点我收藏+]

标签:ptr   使用   mem   pretty   pos   没有初始化   str   sizeof   pre   

struct mem_control_block 
{
    int is_available;    //这是一个标记
    int size;            //这是实际空间的大小
};
void free(void *ptr) 
{
     struct mem_control_block *free;
     free = ptr - sizeof(struct mem_control_block);
     free->is_available = 1;
     return;
}

free只是把该空间给变成可用的空闲空间,并没有初始化,所以每次使用malloc分配空间后要进行初始化,一般用memset(),如memset(buf, 0, 100);

也可以使用calloc代替malloc来进行分配内存,calloc函数会自动将申请到的内存进行初始化。

关于malloc及free

标签:ptr   使用   mem   pretty   pos   没有初始化   str   sizeof   pre   

原文地址:https://www.cnblogs.com/zealfish/p/12690364.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!