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. 添加内容到双向链表:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwppxd.html