C语言动态内存的分配(附详细代码例子)

本文介绍了C语言中动态内存管理的四个关键函数:malloc, free, calloc和realloc。malloc用于在堆区动态分配内存,calloc在分配内存时会初始化为零,realloc可以调整已分配内存的大小。free用于释放不再使用的内存,防止内存泄漏。文章强调了正确使用这些函数的重要性,并给出了实例代码。

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


前言

在C语言中,我们开辟内存的方式有两种

1.静态开辟内存
2.动态开辟内存

静态例:

   int a[10] = {
   0} ;

我们这里定义的数组所开辟的内存是在栈区中开辟的,数组a指定为40个字节 ,这种分配固定大小的内存分配称为静态内存分配。
在很多时候,我们申请的空间是未知的

比如说通讯录,我们不知道需要存下多少个号码,这时候就存在一个问题,你定的空间需要多少个字节,当申请的太少,就会出现存不下去的情况,如果存的空间过大,有会造成空间的浪费。

而动态内存分配的空间是在堆区申请的,可以控制内存的分配的。两者互有利弊,具体要看所需情况使用~

这里补充一个知识:

内存在使用内

评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Key-xiao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值