Linux Kernel中list解读


Sam之前看2.4 kernel时,常看到List.也仔细看了一下,但现在长期没有看kernel,没有写程序,已经忘记了很多。今天又看一看并记录下来。

Linux Kernel中,常常需要使用双向链表。在~/include/linux/list.h中,就定义了双向链表和常用的function.

链表头如下:

struct list_head {

 struct list_head *next, *prev;

};

1.创建双向链表(doubly linked list):

INIT_LIST_HEAD(struct list_head *list)

代码如下:

static inline void INIT_LIST_HEAD(struct list_head *list)

{

 list->next = list;

 list->prev = list;

}

将List的头和尾都指向自身。

2. 添加内容到双向链表:

相关内容