#define LIST_HEAD_INIT(name) { &(name), &(name) }
#define LIST_HEAD(name) \
struct list_head name = LIST_HEAD_INIT(name)
用LIST_HEAD(name)声明一个名为name的链表头,它的next、prev指针都初始化为指向自己,这样,实际上就建立了一个空链表,以上代码等同于struct list_head name;
head.prev=&name;
head.next=&name;