嵌入式工程师day15(链表)

news2024/11/15 19:35:35

内存管理

一.内存管理:

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超过碎片空间时,则无法获得该空间(空间不连续),将这样的空间称为内存碎片

链表:


 

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

 替换:

删除: 

销毁: 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1422889.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

机器学习-3降低损失(Reducing Loss)

机器学习-3降低损失(Reducing Loss) 学习内容来自:谷歌ai学习 https://developers.google.cn/machine-learning/crash-course/framing/check-your-understanding?hlzh-cn 本文作为学习记录1.降低损失:迭代方法 迭代学习 下图展示了机器学习算法用于训…

idea Statistic使用

问题描述:本地idea版本为2018.3.5,安装Statistic插件后没有出现Statistic图标 原因如下:插件版本太新了,需要历史版本 解决办法: IDEA安装代码统计插件Statistic后左下角图标出不来(亲测)_idea statistic不展示-CSD…

从入门到精通 MATLAB:这些学习网站是不错的选择!

介绍:MATLAB是一种高级的数学计算软件,专门用于算法开发、数据可视化、数据分析以及数值计算。它是MathWorks公司推出的产品,自1984年推向市场以来,已经成为科学计算和工程设计领域的重要工具。以下是MATLAB的主要特点&#xff1a…

【C++入门到精通】特殊类的设计 | 单例模式 [ C++入门 ]

阅读导航 引言一、设计模式概念(了解)二、单例模式1. 饿汉模式(1)概念(2)模拟实现(3)优缺点(4)适用场景 2. 懒汉模式(1)概念&#xff…

【C++进阶08】哈希的应用(位图and布隆过滤器)

一、位图 1.1 位图的概念 面试题 给40亿个不重复的无符号整数,没排过序 给一个无符号整数,如何快速判断一个数是否在 这40亿个数中。【腾讯】 能想到的解决思路: 遍历,时间复杂度O(N)排序(O(NlogN)) 利用二分查找: logN放到哈…

计算机毕业设计 | SpringBoot+vue 教务管理系统(附源码)

1,项目背景 教育需求增长 随着社会的发展,对于教育质量的要求也在不断提高。传统的手工操作和纸质记录已经不能满足现代教学的需求。因此,一个自动化、数字化的教务管理系统成为了必然的选择。 信息化趋势 现代科技的飞速发展使得信息化成为…

【算法】登山(线性DP,最长上升)

题目 五一到了,ACM队组织大家去登山观光,队员们发现山上一共有N个景点,并且决定按照顺序来浏览这些景点,即每次所浏览景点的编号都要大于前一个浏览景点的编号。 同时队员们还有另一个登山习惯,就是不连续浏览海拔相…

如何保证MySQL数据一致性

在当今大数据时代,数据库系统扮演着至关重要的角色,而MySQL作为一种流行的关系型数据库管理系统,在数据一致性方面拥有着丰富的机制和技术。下面简单的探讨MySQL是如何保证数据一致性的。 事务与ACID特性 要了解MySQL如何保证数据一致性&am…

excel中去掉单元格中两个数字之间的空格

excel中去掉单元格中两个数字之间的空格 使用公式:SUBSTITUTE(A1," “,”") 解释:将A1单元格中的空格查找出来并去掉。

香蕉派BPI-M7 瑞芯微RK3588 人工智能开源硬件开发板公开发售

香蕉派(Banana Pi) BPI-M7瑞芯微K3588开源硬件单板计算机公开销售,支持WiFi 6和BT5.2,硬件有3个版本:8G Ram64G eMMC, 16G Ram128 eMMC和32G Ram128 eMMC 香蕉派BPI-M7采用睿芯最新旗舰RK3588八核64位处理器,最高频率为2.4GHz, 6 TOPS NPU&…

网络安全全栈培训笔记(59-服务攻防-中间件安全CVE复现lSApacheTomcataNginx)

第59天 服务攻防-中间件安全&CVE复现&lS&Apache&Tomcata&Nginx 知识点: 中间件及框架列表: lIS,Apache,Nginx,Tomcat,Docker,Weblogic,JBoos,WebSphere,Jenkins, GlassFish,Jira,Struts2,Laravel,Solr,Shiro,Thinkphp,Sprng,Flask,…

MicrosoftEdge浏览器打开网页出现“此网站被人举报不安全”问题时解决办法

1:有时候不知怎么回事用电脑自带的微软浏览器进行搜索会出现以下的问题 这可能是由于我们的浏览器安全审查过于严格引起的 Windows10正式版系统下,使用Edge浏览器浏览网页时候,发现整个页面突然变成了红色,显示“已有人举报此网站…

【项目管理】立项管理

一、前言 对于甲方的立项:需求调研二编写项目申请书一可行性研究(机会、初步、详细)一项目论证一项目评估一评审获得批准一发布招标文件!对于乙方的立项:看到招标文件一进行项目识别一可行性研究(机会、初…

MATLAB - 控制小车上的倒立摆

系列文章目录 前言 一、小车 - 摆杆 小车 - 摆杆模型如图 1 所示,使用 Simscape™ Multibody™ 在 Simulink 中建模。 图 1:小车上的倒立摆 图 2:Simscape 多体模型 该系统通过对小车施加可变力 进行控制。控制器需要在将小车移动到新位置或…

【OpenCV】在Linux上使用OpenCvSharp

前言 OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,它具有C,Python,Java和MATLAB接口,并支持Windows,Linux,Android和Mac OS。OpenCvSharp是一个Ope…

Python中类的相关术语(附带案例)

目录 1、面向对象 2、类 3、实例 4、初始化方法 5、魔法方法 6、字符串方法 7、self 8、数据、属性、操作、行为 9、父类、基类、超类 or 子类、派生类 10、多态 11、重载多态 and 重写多态 12、名称解释 1、面向对象 在Python中,面向对象编程&…

由《幻兽帕鲁》私服漏洞引发的攻击面思考

《幻兽帕鲁》私服意外丢档 当了一天的帕鲁,回家开机抓帕鲁的时候发现服务器无法连接。运维工具看了下系统负载发现 CPU 已经跑满。 故障排查 登录服务器进行排查发现存在可疑的 docker 进程。 经过一番艰苦的溯源,终于在命令行历史中发现了端倪 攻击…

深入浅出AI落地应用分析:AI个人助手Monica

前言:铺天盖地的大模型以及所谓的应用到目前为止实际还是很少有像Monica这样贴合个人工作习惯的产品落地,比如像Chatgpt等这样的产品,绝大多数人不会专门买🪜翻墙出去用,而且大多数场景下素人或小白都不知道该怎么用,但是Monica这款产品就很好的以浏览器的插件的形式始终…

[BUUCTF]-PWN:cmcc_pwnme2解析

保护 ida 完整exp: from pwn import* context(log_leveldebug) #premote(node5.buuoj.cn,26964) pprocess(./pwnme2) addhome0x8048644 addflag0x8048682 getfile0x80485CB main0x80486F8 pop_ebp0x8048680 ret0x80483f2 pop_ebx0x8048409 pop_edi_ebp0x804867f st…

贪吃蛇---C语言---详解

引言 C语言已经学了不短的时间的,这期间已经开始C和Python的学习,想给我的C语言收个尾,想起了小时候见过别人的老人机上的贪吃蛇游戏,自己父母的手机又没有这个游戏,当时成为了我的一大遗憾,这两天发现C语…