动态内存管理(动态内存管理函数) malloc calloc realloc

目录

 

动态内存管理

动态内存函数malloc  free  (成对出现)

1.malloc——动态内存开辟函数——开辟后未初始化,内存中存放的是随机值。

2.free——动态内存回收释放函数

calloc 函数 free(成对出现)使用需要注意的事项与malloc都相同。

常见的动态内存错误

经典笔试题

柔性数组

1.柔性数组的特点

2.柔性数组的优点


  • 动态内存管理

  • 动态内存函数malloc  free  (成对出现)

1.malloc——动态内存开辟函数——开辟后未初始化,内存中存放的是随机值。

void* malloc(size_t size)// ——函数原型

这个函数向内存申请一块连续可用空间,并返回指向这块空间的指针。

-如果开辟成功,则返回一个指向开辟好空间的指针

-如果开辟失败,则反回一个NULL指针因此malloc的返回值一定要做完检查再使用。

-返回类型是void*,所以malloc函数并不知道开辟的空间类型,具体再使用者使用的时候决定(强转)。

-如果 size为0,则malloc的行为是标准未定义的,取决于编译器。

2.free——动态内存回收释放函数

c语言提供了free函数,专门用来做动态内存的释放和回收的

void* free(void* ptr)——函数原型  (ptr)是malloc返回的那个指向开辟空间的指针。

free(ptr)后需要把ptr指针置为NULL。

free函数用来释放动态开辟的内存。

-如果参数ptr指向的空间不是动态内存所开辟的,那么free函数的行为未定义。

-如果ptr是NULL指针,则函数什么都不干

malloc free 函数都在头文件stdlib.h头文件中。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdlib.h>
#include <stdio.h>
#include <stddef.h>
#include 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值