当前位置: 首页 > news >正文

FreeRTOS源码阅读笔记2--list.c

        list.c中主要完成列表数据结构的操作,有列表和列表项的初始化、列表的插入和移除。

2.1列表初始化vListInitialise()

2.1.1函数原型

void vListInitialise( List_t * const pxList )

  • pxList:列表指针,指向要初始化的列表。

2.1.2函数框架

简单来说,列表的初始化就是链表根节点的初始化,如图所示:

2.2列表项初始化vListInitialiseItem()

2.2.1函数原型

void vListInitialiseItem( ListItem_t * const pxItem )

  • pxItem :列表项指针。

2.2.2函数框架

使列表项pxItem->pxContainer=NULL,表示列表项没有所属的列表。

2.3列表项插入列表末尾vListInsertEnd()

2.3.1函数原型

void vListInsertEnd( List_t * const pxList, ListItem_t * const pxNewListItem )

  • pxList:列表指针;
  • pxNewListItem:要插入的新列表项指针。

2.3.2函数框架

2.4列表项插入列表vListInsert()

2.4.1函数原型

void vListInsert( List_t * const pxList, ListItem_t * const pxNewListItem )

  • pxList:列表指针;
  • pxNewListItem:要插入的新列表项指针。

2.4.2函数框架

vListInsert()与vListInsertEnd()不同之处在于,可以根据列表项中的value值大小,先和根节点(value值最大)开始比,再由value值小到大找,找到比新列表项value值大的第一个列表项,然后把新列表项插入到它的前面。

2.5列表项移除列表uxListRemove()

2.5.1函数原型

UBaseType_t uxListRemove( ListItem_t * const pxItemToRemove )

  • pxItemToRemove:列表项指针,指向要移除的列表项;
  • 返回值:被移除列表项所属的列表中列表项的数量。

2.5.2函数框架

http://www.lryc.cn/news/222635.html

相关文章:

  • 杂货铺 | citespace的使用
  • C++ 静态成员变量初始化规则
  • Docker安装、卸载,以及各种操作
  • 深入理解 C 语言的内存管理
  • 利用Caddy实现http反向代理
  • 【Qt之QVariant】使用
  • xv6实验课程--xv6的写时复制fork(2023)
  • 在Windows或Mac上安装并运行LLAMA2
  • Spring底层原理学习笔记--第七讲--(初始化与销毁)
  • 基于斑马算法的无人机航迹规划-附代码
  • 干货 | 接口自动化测试分层设计与实践总结
  • 【Linux】服务器与磁盘补充知识,硬raid操作指南
  • 【java】实现自定义注解校验——方法二
  • 算法通关村第六关|白银|二叉树的层次遍历【持续更新】
  • vue中通过js控制scss变量
  • 深度学习理论知识入门【EM算法、VAE算法、GAN算法】和【RBM算法、MCMC算法、HMC算法】
  • Java8实战-总结47
  • 功能: 在web应用程序中、读取文件
  • TDD、BDD、ATDD以及SBE的概念和区别
  • Android studio:打开应用程序闪退的问题
  • Mysql数据库性能优化--performance_SCHEMA.STATEMENTS语句分析
  • [C/C++]数据结构 链表OJ题: 反转链表
  • 深度学习之基于YoloV5交通信号标志识别系统
  • Linux命令大全
  • 元宇宙是否为噱头?若不是,什么是元宇宙?他的概念、技术、应用和影响是什么?
  • 293_C++_告警类
  • MySQL基础操作
  • ajax样式演示
  • Web前端—CSS高级(定位、高级技巧、CSS修饰属性、综合案例:购物网站轮播图)
  • linux的sftp复制传输文件