list
linux kernel有链表、队列、映射、二叉树等内建数据结构,并且封装一系列API给linux kernel开发人员使用,本章讲解链表。
base linux-2.6.34
简介
链表有单向链表、双向链表、环形链表,linux kernel 标准链表就是采用环形双向链表形式实现
链表节点 定义如下:
struct list_head {
struct list_head *next, *prev;
};如何使用 linux kernel 链表?一般将链表节点内嵌在对象结构内,如下:
struct test {
int index;
struct list_head list;
};如何定义链表头 head ?如下:
LIST_HEAD(head);如何将链表节点添加链表头?
void list_add(struct list_head *new, struct list_head *head)如何从链表头删除链表节点?
如何得到链表节点内嵌对象结构的内容?
实践
Last updated
Was this helpful?