Linux中的链表
Posted ceibaf
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux中的链表相关的知识,希望对你有一定的参考价值。
笔记:<<the linux kernel primer>>
linux中的链表常见的是循环双向链表。其完整代码存放在同文件include/linux/list.h中
1 include/linux/list.h 2 3 struct list_head { 4 struct list_head *next,*prev; 5 }; 6 7 #define LIST_HEAD_INIT(name) { &(name),&(name)} 8 9 #define LIST_HEAD(name) 10 struct list_head name = LIST_HEAD_INIT(name)//根据链表的名字创建表头 11 12 #define INIT_LIST_HEAD(ptr) do {\ //将头节点中的prev和next指针都指向头节点本身,完成这两个宏调用后name就指向了一个空链表:(头节点的next 13 (ptr)->next = (ptr);(ptr)->prev = (ptr);\ //指向该链表的表头元素本身) 14 } while (0)
以上是关于Linux中的链表的主要内容,如果未能解决你的问题,请参考以下文章