C语言动态内存管理malloc、calloc、realloc、free的用法和注意事项

本文介绍了C语言中动态内存管理的四个关键函数:malloc用于分配指定大小的内存;calloc一次性分配多个零初始化的元素;realloc调整已分配内存的大小;free释放不再使用的内存。每个函数的使用示例和注意事项都有详细阐述。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

此文是参考http://www.cplusplus.com/reference/cstdlib/里的动态内存管理部分所写,如发现有问题和不足之处,请参看原文,最好能帮忙指出,谢谢。

1.void* malloc (size_t size);

malloc:分配一块size Byte大小的内存,返回一个指向该块内存开始的指针,指针类型是void。
其中size_t代表无符号整形类型

例如:

int *number;
number = (int *)malloc(sizeof(int));//分配一个大小为sizeof(int)的存储空间,
//返回的指针需要强转成需要的类型
if(NULL == number)//判断调用是否成功,不成功就退出
{
    exit(0);
}
*number = 100;//内存里的内容没有被初始化,值不确定,这里要记得初始化
free(number);//用完之后要free,释放内存
number = NULL;//防止出现野指针


如果size是0,那么返回值不确定,取决于不同库的实现,但是返回值必定是不能引用的。
如果调用失败,则返回空指针

2.void* calloc (size_t num, size_t size);

calloc:为一个大小为num的数组分配内存,每个元素的大小是size,把每个元素初始化为0

int *number;
int i = 0;
number = (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值