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

wordpress端口长沙seo优化服务

wordpress端口,长沙seo优化服务,网站baohe,多用户商城 源码一 结构体解析 图一 图二 上图是链表结构图以及等效图, 然后我们看freeRTOS list.h文件中以下三个定义,分别是节点结构体定义ListItem_t,mini节点结构体定义MiniListItem_t,链表结构体定义List_t,对应图中的红色标记…

一 结构体解析

                                                                       图一

                                                                       图二

上图是链表结构图以及等效图,

然后我们看freeRTOS list.h文件中以下三个定义,分别是节点结构体定义ListItem_t,mini节点结构体定义MiniListItem_t,链表结构体定义List_t,对应图中的红色标记相应部分,这三个结构体名称最好牢记,便于程序代码的阅读与理解:

/* 节点结构体定义 */
struct xLIST_ITEM
{
    TickType_t xItemValue;             /* 辅助值,用于帮助节点做顺序排列 */            
    struct xLIST_ITEM *  pxNext;       /* 指向链表下一个节点 */        
    struct xLIST_ITEM *  pxPrevious;   /* 指向链表前一个节点 */    
    void * pvOwner;                       /* 指向拥有该节点的内核对象,通常是TCB */
    void *  pvContainer;               /* 指向该节点所在的链表 */
};
typedef struct xLIST_ITEM ListItem_t;  /* 节点数据类型重定义 */

/* mini节点结构体定义,

作为双向链表的结尾,因为双向链表是首尾相连的,头即是尾,尾即是头 */
struct xMINI_LIST_ITEM
{
    TickType_t xItemValue;                      /* 辅助值,用于帮助节点做升序排列 */
    struct xLIST_ITEM *  pxNext;                /* 指向链表下一个节点 */
    struct xLIST_ITEM *  pxPrevious;            /* 指向链表前一个节点 */
};
typedef struct xMINI_LIST_ITEM MiniListItem_t;  /* 最小节点数据类型重定义 */

/* 链表结构体定义 */
typedef struct xLIST
{
    UBaseType_t uxNumberOfItems;    /*链表节点计数器 */
    ListItem_t *  pxIndex;            /* 链表节点索引指针 */
    MiniListItem_t xListEnd;        /* 链表最后一个指针 */
} List_t;

二 函数讲解

以下是将节点插入到链表的尾部的函数实现:

                                                             图三(可对比图二)

从上述函数第33行可知,pxIndex被定义为一个节点结构体类型(ListItem_t)的指针变量,指向ListItem_t类型节点结构体,这里赋值为链表pxList的索引值pxIndex,初始化时索引值默认为xListEnd,见图二。

由之前节点结构体定义可知,pxIndex->pxPrevious也是一个指针变量,指向 ListItem_t 类型节点结构体类型,

对一个指针变量pxIndex->pxPrevious赋值,就是将某一个地址赋值给指针变量,

所以 pxIndex->pxPrevious = pxNewListItem; 就是将pxPrevious这个变量代表的地址变更为pxNewListItem,不论以前这个变量代表(指向)的地址是什么,也就是xListEnd的pxPrevious变量变为pxNewListItem。

而对pxIndex->pxPrevious->赋值,多了这个->符号后,就是对变量pxIndex->pxPrevious代表的地址里的成员赋值。

所以pxIndex->pxPrevious->pxNext = pxNewListItem;就是将pxIndex->pxPrevious代表的地址里的成员pxNext变更为pxNewListItem,不论以前是什么,而且pxNewListItem也是个地址,也就是xListEnd的前一个节点的pxNext(指针变量,代表节点地址)成员赋值为pxNewListItem(韩式形参定义的指针变量,也是代表节点地址)。.

http://www.dtcms.com/wzjs/270599.html

相关文章:

  • 网站没有关键词收录国内最新消息
  • wordpress 中文附件宁波seo外包快速推广
  • 优化疫情防控措施新十条seo网络推广培训
  • 前端开发面试题廊坊优化技巧
  • 自助建站免费永久seo流量工具
  • 软件测试培训班坑人营销型网站建设优化建站
  • 学网站建设能赚钱吗西安seo引擎搜索优化
  • wordpress mysql 密码seo怎么做最佳
  • 北京建机官网查询湖南有实力seo优化哪家好
  • 广州网站建设很棒 乐云践新关键词优化排名怎么做
  • 网站做app的软件珠海网络推广公司
  • 资源整合刷seo关键词排名软件
  • 网站开发用什么软件有哪些国家高新技术企业名单
  • 青岛哪家做网站的公司好爱站seo查询
  • 江西手机版建站系统开发开平网站设计
  • 吉林省电力建设总公司网站矿产网站建设价格
  • 网站建设里面链接打不开seo的方法有哪些
  • 代做效果图网站哪家好百度搜索次数统计
  • 20g虚拟主机建设网站seo引擎优化是做什么的
  • php做网站视频播放下载功能合肥关键词排名工具
  • 网站数据库怎么做同步软件排名优化
  • 广东网站建设公司排名优化seo深圳
  • 网络运维工程师薪酬厦门seo推广优化
  • 南昌网站建设公司在线排名优化
  • 北京外贸网站制作公司seo收录排名
  • 安丘住房建设局网站如何做好网站站内优化
  • 招远网站建设价格许昌网络推广外包
  • xps13适合网站开发吗近两年成功的网络营销案例及分析
  • 长沙seo优化方案yoast seo教程
  • wordpress超链接插件网站seo优化推广外包