内存的动态开辟与释放

malloc/free与new/delete

(1)new会抛异常,但是malloc不会抛异常;

(2)new/delete属于操作符,但是malloc/free属于函数;

(3)new申请空间的时候会调用构造函数进行初始化,malloc不会;

    delete释放内存时会调用析构函数,free只是切断了指向关系;

malloc/calloc/realloc

malloc开辟空间时:若找不到,则返回NULL;

calloc:在内存中开辟空间并将其初始化为0;

realloc:重新开辟空间(1)当realloc开辟空间空间不足,找到新空间时:自动将原来指针所指向的内容拷贝到新空间,并且释放原来的空间;(2)当realloc开辟空间且找不到时,原空间不变。

注:动态内存开辟的空间位于堆上;


作者水平有限,若有问题请留言,谢谢!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值