在linux kernel里面链表应用非常广泛. 我们在应用程序中,定义一个链表结构通常要包含数据域,如下: typedef struct _listNode{ int data; struct _listNode *prev, *next; }ListNode; 但在内核代码中,定义的链表都没有数据域, 如下: struct list_head { struct list_head *next, *prev; };如果需要定义双链表结构,则在数据结构中包含一个list_head的成员变量, s…