LIST(type, name) // 声明一个表结构体
LINK(type, link) // 声明一个链表结构体
LIST_INIT(list) // 初始化一个表
LINK_INIT(link) // 初始化一个链表
LIST_HEAD(list.head) // 表头指针
LIST_TAIL(list.tail) // 表尾指针
LIST_CNT(list.cnt) // 节点数
LIST_REMOVE(list, node, link) // 从链表中删除一个节点数据
LIST_ADD(list, node, link) // 往链表尾部中添加一个节点数据
LIST_FIND(list, iter, link, test) // 以iter指针为遍历指针,找到想要的test节点数据
#define LIST(type, name) \
struct { \
type *head; \
type *tail; \
unsigned int count; \
} name
#define LINK(type, link) \
struct { \
type *prev; \
type *next; \
} link
#define LIST_INIT(list) do { \
(list).head = (list).tail = NULL; \
(list).count &#