16,动态内存分配


动态内存分配可以在程序运行的时候临时决定需要分配多少个存储区

为了管理动态分配内存需要使用一组标准函数  <stdlib.h>

malloc:可以动态分配一组连续的字节;需要一个整型参数表示希望分配的字节个数

他的返回值表示分配好的第一个字节的地址,如果失败,返回NULL

malloc使用一个无类型指针存储区记录返回值,
需要首先强制类型转换成有类型指针,然后才可以使用

动态内存使用完成之后必须释放,free函数可以用来释放动态分配内存
这个函数需要动态内存的首地址作为参数

如果使用指针作为参数调用free函数,则函数结束之后会成为野指针,必须恢复成空指针

一个函数动态分配的内存可以给任何其他函数使用

calloc(存储区的个数,单个存储区的大小):
可以确定分配的所有内存内容都是0;需要包含stdlib.h头文件

这个函数返回值就是分配好的第一个存储区的地址;分配内存有可能失败,失败返回NULL

realloc():可以动态改变分配内存的大小;尽量少使用这个函数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值