realloc函数,malloc函数与calloc函数区别

一, malloc 

 void *malloc(unsigned int num_byte)

1,num_bytes为需要申请的内存大小,需要人为的去计算,申请的类型徐手动强转为对应指针的类型

2,申请的值是不确定的

二 calloc

void*calloc(size_t n, size_t size)

1, 比malloc多一个参数,省去了认为计算的麻烦,

2,申请的每一个值都会被初始化为0,因此也会降低效率,

三, realloc 

void *realloc(void *ptr, size_t newsize)

1, 与前两个大不同,主要用于对已申请的内存进行扩容

2,分三种情况: 若size 较小并且原申请内存还有多余空间,就直接在原内存后扩容,返回原空间的地址

                           若size较大,原内存不够,系统将重新分配一段内存,并将原内存拷贝到新内存中,原内存free

                           若size 非常大,系统申请内存失败,返回NULL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值