内核中链接列表遍历

我正在使用list_for_each_entry(datastructureptr , &mylinkedlist, head)来遍历我创build的链表。 我得到的输出是最后插入的项目首先打印。 这是预期的产出吗? 是否有任何macros/function打印在另一种方式?

list_for_each_entry遍历从第一个项目到最后一个项目的列表。

您必须确保项目以正确的顺序和正确的位置插入。 list_add插入列表的开头; list_add_tail在最后。

 struct private { char data[30]; struct list_head head; }; ....... ..... static struct private mylinkedlist; .... struct private *datastructureptr=&mylinkedlist; ... list_for_each_entry(datastructureptr , &mylinkedlist, head) printk( " %s->\n",datastructureptr->data); 

用fifo方式打印物品