我有一个实现到另一个列表的列表,但是我不知道如何遍历它。你能帮我吗?
LIST_HEAD(first_list);
LIST_HEAD(second_list);
struct my_first_list {
struct list_head next;
int variable_a;
}
struct my_second_list {
struct list_head next;
int variable_b;
struct my_first_list *my_list;
}
我这样填充my_first_list:
struct my_second_list *sec_list_element;
list_for_each(p, &second_list) {
sec_list_element = list_entry(p, struct my_second_list, next);
for(int i = 0; i < 10; i++) {
sec_list->my_list->variable_a = 1;
list_add(&sec_list_element->my_list->next, &first_list);
}
}
现在,我不知道该如何取回元素。 我试图做类似的事情:
my_first_list *first_list_element;
my_second_list *sec_list_element;
list_for_each(p, &second_list) {
sec_list_element = list_entry(p, struct my_second_list, next);
list_for_each(q, &first_list) {
first_list_element = list_entry ... // and here i'm not sure what to do
}
}
谢谢!