LiteOS中的双向链表和linux中的实现相差不大。一直很难理解为什么liteOS系统中会出现类似a.h, a.inc, a.ph的头文件,为了避免采用相同后缀会出现重名。采用不同后缀而文件名相同的好处是啥呢?
链表结构定义
节点的结构定义
typedef struct LOS_DL_LIST
{
struct LOS_DL_LIST *pstPrev; /**< Current node's pointer to the previous node*/
struct LOS_DL_LIST *pstNext; /**< Current node's pointer to the next node*/
} LOS_DL_LIST;
在链表初始化的头节点中前后的节点指针指向其本身,同时以此作为判断链表是否为空的依据。
用户使用如何定义结构方式