C++中的动态内存管理(new和malloc)

在C语言中,用malloc/calloc/realloc/free来进行动态内存管理。

这三者都是在堆上对空间进行开辟,free将申请到的空间释放掉。

malloc只有一个参数,就是需要申请空间的大小,成功返回所开辟空间的指针,失败返回NULL。

void* malloc(size_t size);

calloc有两个参数,第一个参数num表示开辟多少个空间,第二个参数size表示每个空间的大小。所开辟的空间从整体上看是连续的,总共大小为size*num个字节。成功返回所开辟空间的指针,失败返回NULL。与malloc不同的是,calloc会将所开辟的空间默认初始化为0。

void* calloc(size_t num, size_t size);

realloc函数是用来调整已经申请好的空间大小的,因为在对空间的管理过程中,可能对内存大小的要求会有所变动。所以realloc用来完成此功能。realloc也有两个参数,第一个为指向所要调整空间的指针,第二个参数为想要调整的大小。

void* realloc(void* ptr, size_t size);
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值