数据结构基础之动态内存分配(malloc)

0x00 malloc函数简介

C语言提供了四个基本的动态内存管理(内存分配与释放)函数,这些函数的原型包含在stdlib.h头文件里。

它们分别是:

1.malloc()/free()函数

2.calloc()函数

3.realloc()函数

malloc的全称是memory allocation,中文叫动态内存分配,用于申请一块连续的指定大小的内存块区域以void*类型返回分配的内存区域地址,当无法知道内存具体位置的时候,想要绑定真正的内存空间,就需要用到动态的分配内存,一般需和free函数配对使用。

备注:void* 表示未确定类型的指针,void *可以指向任何类型的数据,更明确的说是指申请内存空间时还不知道用户是用这段空间来存储什么类型的数据(比如是char还是int或者其他数据类型)

本篇只对malloc进行讲解

0x01 malloc函数功能

malloc()函数在堆中申请分配一个大小为size个字节的连续内存空间,若成功分配,则返回一个指向所分配空间起始地址的指针,否则返回空指针(NULL)。

free()函数用来释放已分配的内存空间,参数p是待释放的内存空间的首指针



0x02 malloc函数实例



时间仓促,多有不严谨,望指正,谢谢!
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • C语言中内存分配 在任何程序设计环境及语言中,内存管理都十分重要。在目前的计算机系统或嵌入式系统中,内存资源仍然是...
    一生信仰阅读 1,198评论 0 2
  • (JG-2014-08-20)(前半部分经过网上多篇文章对比整理)(后半部分根据ExceptionalCpp、C+...
    JasonGao阅读 5,628评论 2 23
  • 作者 谢恩铭,公众号「程序员联盟」(微信号:coderhub)。转载请注明出处。原文:https://www.ji...
    程序员联盟阅读 1,937评论 2 21
  • 船坞里下水了一艘新船,没人知道他的性能,只知道他会沉没,不知道什么时候沉没。 船坞就像个封闭的世界,里面生活着许许...
    耳东陳阅读 337评论 0 0
  • 我的网名叫失落真心,十二年从未变过。我给它自定义是:失落不失真心,真心终不会失落。面对许多困难或困惑,我用...
    失落真心阅读 298评论 0 1