list_for_each_entry

来源:互联网 发布:东方时尚网络授课 编辑:程序博客网 时间:2024/05/10 09:22

代码:

#define list_for_each_entry(pos, head, member)
for (pos = list_entry((head)->next, typeof(*pos), member);
    &pos->member != (head);
    pos = list_entry(pos->member.next, typeof(*pos), member))


list_for_each_entry函数是用来遍历双向循环链表的,

pos依次为指向每个节点的指针,除了head,因为Linux内核中的双向循环链表的head节点是不实际使用的。

list_entry通过已知的指向member的指针,获得整个结构体的指针,详情:点击打开链接

原创粉丝点击