关于free

假设用malloc()申请了一块内存后,要用free()去释放这块内存,把这快内存交给堆去管理,以便分配给其他要使用内存的地方。 free并没有把内存里的值清0,内存里的值仍保持原样。free之后仍然可以通过你的指针去访问内存。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值