linux list鏈表小測試實例

此乃本人測試用的小實例,可以直接跑:

#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;

}


 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章