LIST_HEAD_INIT和INIT_LIST_HEAD

http://zhidao.baidu.com/question/233960526.html&__bd_tkn__=68a44d267b2193295415a339bb8a34ac8c0397ad8078338d51fed8133ea5c69d362ad36bb4bcda3b39bb3949f6bbe47087ac3af56e60b1f4e7eb60157a5ffe3b9b67acfa580f03de0125270dd246cc0a3d769c750f5dbfffd2383609712c315fbe647b303bbcada29b0bfdaccbdc8d0dc23627f14ca9

 

file: linux/include/linux/list.h

#define LIST_HEAD_INIT(name) { &(name), &(name) }

#define LIST_HEAD(name) \

 struct list_head name = LIST_HEAD_INIT(name)

static inline void INIT_LIST_HEAD(struct list_head *list)

{

 list->next = list;

 list->prev = list;

}

LIST_HEAD_INIT是宏,INIT_LIST_HEAD是函数吧,摘自linux-2.6.37.2源码