malloc和calloc,realloc 核心区别

很多up主在教学时都没有阐述的很清楚,其实就几大件

一,要知道为什么要使用这几个函数,为什么不在栈上开辟内存空间

我认为核心的原因是使用方便,首先栈上创建的变量是不能够在函数间互相传递的,虽然可以通过extern,static等关键字修饰来达到目的,但是总归操作起来不是很方便,而且感觉比较乱!

二,核心区别

malloc不能初始化

calloc开辟之初,初始化内存,相对安全系数较高

realloc可以在原地址的后续物理空间不足以开辟新的空间的情况下,可以拷贝当前地址的内容并寻找一块新的空间开辟(如果ptr是NULL,这个函数可以和malloc作用一样。如果能有realloc功能就好了,把新开辟的空间初始化)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值