关于free

来源:互联网 发布:知金教育不给毕业证 编辑:程序博客网 时间:2024/06/05 19:21
假设用malloc()申请了一块内存后,要用free()去释放这块内存,把这快内存交给堆去管理,以便分配给其他要使用内存的地方。free并没有把内存里的值清0,内存里的值仍保持原样。free之后仍然可以通过你的指针去访问内存。

分配内存步骤:
1、申明一个指定类型的指针
2、计算要分配内存大小(sizeof())
3、分配内存(malloc()),返回值赋给指针变量
4、检查返回值是否不为NULL,保证空间分配成功
5、分配好的空间没有经过初始化,可能含有一些垃圾信息,因此调用memset()将其用0填充
释放内存
1、free()释放内存
注意:1、free()后最好将指针置为NULL,因为free()后内存交给堆来管理了,可能分配给了其他地方使用了,如果现在用没有置为NULL的指针(也就是野指针,但是还是指向那块内存)操作这个内存改变了别人的内存,就会引起我们不愿看到的后果。
原创粉丝点击