RT-Thread中的链表结构
文章目录 RT-Thread中的链表组织结构 RT-Thread中的链表操作 链表节点的插入 链表节点的删除 链表节点元素访问 RT-Thread中的链表组织结构 RT-Thread中的链表是带表头节点的双向循环链表结构,它的表头节点与之前的博客《 双向循环链表 》中介绍的表头节点不同,之前博客介绍的表头节点与后继节点结构是一致的,这是因为指针类型问题,前面介绍过的链表都是前驱节点指向后继节点的首地址,即指向节点结构体的指针。RT-Thread链表节点中的指针并不是指向节点首地址(这种说法并不严谨,尽管实际上它确实不是指向节点首地址),而是指向节点中的list结构体元素,这种链表结构让链表更加灵活。 /** * Double List structure */ struct rt_list_node { struct rt_list_node * next ; /**< point to next node. */ struct rt_list_node * prev ; /**< point to prev node. */ } ; typedef struct rt_list_node rt_list_t ; /**< Type for lists. */ RT-Thread中的链表指针定义为 rt_list_t ,而不是节点类型,这就可以使链表的操作(例如:插入、删除