此乃本人測試用的小實例,可以直接跑:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <utils/list.h>
struct list_test
{
struct list_head head;
char age;
};
struct list_test *line,*out,add;
struct list_head list,*Pos;
int main()
{
INIT_LIST_HEAD(&list); //定義存放文件內容的鏈表
line = malloc(5*sizeof(struct list_test));
memset(line,0,5*sizeof(struct list_test));
for(char i=0;i<5;i++)
{
line[i].age = i;
list_add(&(line[i].head),&list);
}
list_for_each(Pos,&list)
{
out = list_entry(Pos,struct list_test,head);
printf("age:%d\n",out->age);
if(out->age == 3)
// list_del(Pos);
list_add(&add.head,Pos);
}
add.age=10;
// list_add_tail(&add.head,&list);
list_for_each(Pos,&list)
{
out = list_entry(Pos,struct list_test,head);
printf("age:%d\n",out->age);
}
return 1;
}