malloc和free使用的一些注意事项

#include<stdlib.h>
malloc
只关心申请的内存大小,单位是字节。
申请的是一个连续的内存。该函数申请的一定是一个连续的内存空间,可能申请到的内存比实际申请的大,也可能申请不到,若申请不到返回NULL,一定要用if语句判断一下
返回值类型为指针类型,可以根据实际情况返回成所需要的的指针类型
显式初始化。堆区不会自动在分配时做初始化的,包括清零。所以你要自己进行初始化。

free
void free(void *ptr);
函数的参数是ptr,指的是需要释放的内存的起始地址,且次函数没有返回值。
必须提供内存的起始地址。调用该函数时,必须提供内存的起始地址,不能只提供部分地址。必须保存好malloc返回的指针值,如果丢失,则所分配的堆空间无法回收,称内存泄漏
mallloc和free配合使用,编译器不负责动态内存的释放,需要程序员自己释放。
不允许重复释放。
free只能释放堆内存空间

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值