嵌入式工程师day15(链表)

内存管理

一.内存管理:

1.malloc 

      void *malloc(size_t size);
      功能:
        申请堆区空间
      参数:
        size:申请堆区空间的大小
      返回值:
        返回获得的空间的首地址
        失败返回NULL

2.free

      void free(void *ptr);
      功能:
        释放堆区空间

      注意:
        1.free只能释放堆区空间
        2.一个空间只能被free一次,多次free程序会崩溃
        3.malloc需要和free搭配使用,如果只有malloc没有free会内存泄露


 练习:要求申请堆区空间,将"hello world"存放到堆区空间,完成打印


                                                                 封装为函数

二. 内存溢出:

     内存溢出也称为内存越界

三.内存泄露:

     程序中malloc的空间没有被释放

四.内存碎片:

 由于频繁申请和释放,导致连续的空间分散成一些小的碎片空间,当malloc超过碎片空间时,则无法获得该空间(空间不连续),将这样的空间称为内存碎片

链表:


 

链表代码总览 (头插法,尾插法):

 替换:

删除: 

销毁: 

尾插:

  • 16
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值