动态内存函数

动态内存

  C语言中的动态内存开辟函数有三个:malloccalloc 和 realloc,有开辟就要有释放,都会使用一个 free 来进行内存释放。

一、malloc

  用来在堆区申请一片连续的内存空间

void  * malloc(size_t size)

参数:所申请空间的字节数

返回值:成功代表申请空间的首地址,失败返回值为NULL

mallo函数返回的实际是一个无类型指针,必须在其前面加上指针类型强制转换才可以使用
指针自身 = (指针类型*)malloc(sizeof(指针类型)*数据数量)

注意:

1.malloc 申请后要对其返回值进行强制类型转换

二、free

释放一片空间 

void  free(void *pstr);

参数:malloc成功之后的返回值

返回值:空

注意:使用后该指针变量一定要置为空指针NULL

  • 1.free 的对象必须是已申请的堆区空间
  • 2.free 完后要对目标指针手动置空

三、realloc

  扩容空间

void  * realloc(void * ptr, size_t size);

参数1:malloc的返回值(所需扩容空间的首地址)

参数2:扩容之后的总字节数。

返回值:成功扩容之后空间的首地址(可能与之前一样,可能不一样),失败返回值NULL
四、memset

用来重置一片连续的空间(按照字节)

  参数1:重置空间的首地址

     参数2:重置空间的字符

     参数3:重置空间的大小(sizeof测试即可)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值