【C语言】malloc vs calloc

malloc() 和 calloc() 都是用于在C语言中动态分配内存的函数。

一、malloc()

#include <stdlib.h>
void *malloc(size_t size);

  • malloc() 用于申请一块连续可用的内存空间,申请的空间需要用free()释放。
  • malloc() 分配的内存不进行初始化,其内容可能是随机的,取决于该内存块之前的使用情况,因此需要对 malloc() 申请的内存空间进行初始化。
  • malloc() 返回一个指向分配内存起始位置的指针。如果分配失败,返回NULL。

二、calloc()

#include <stdlib.h>
void* calloc(size_t num, size_t size);

  • calloc() 也用于申请一块连续可用的内存空间,申请的空间也需要用free()释放。
  • calloc() 分配的内存会被初始化为零,即所有的字节都被设置为0。
  • calloc() 返回一个指向分配内存起始位置的指针。如果分配失败,返回NULL。

参考文章:C语言——动态内存函数(malloc、calloc、realloc、free)_malloc函数-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值