首页 > 系统服务 > 详细

linux内核list使用demo

时间:2020-02-10 22:52:13      阅读:75      评论:0      收藏:0      [点我收藏+]

1. list.h需要拷贝到/usr/local/include, https://www.cnblogs.com/muahao/p/8109733.html 这里有个list.h可以放到该目录下

2. 结构体中添加list_head成员

//
// Created by gxf on 2020/2/7.
//

#include <string.h>
#include <stdio.h>
#include <list.h>
#include <stdlib.h>

typedef struct {
    int age;
    struct list_head list;
}person;

int main(int argc, char **argv){
    person *tmp, personlist;

    INIT_LIST_HEAD(&personlist.list);
    // add
    for (int i = 0; i < 3; i++) {
        tmp = (person*) malloc(sizeof(person));
        scanf("%d", &tmp->age);
//        list_add(&(tmp->list), &(personlist.list));
        list_add_tail(&(tmp->list), &(personlist.list));
    }
    // travel
    list_for_each_entry(tmp, &personlist.list, list)
        printf("age:%d\t", tmp->age);
    printf("\n");

    // update
    tmp = (person*) malloc(sizeof(person));
    tmp->age = 10;
    list_replace(&(personlist.list.next), &(tmp->list));
    tmp = NULL;
    list_for_each_entry(tmp, &personlist.list, list)
        printf("age:%d\t", tmp->age);
    printf("\n");

    // delete
    list_del(personlist.list.next->next);
    list_for_each_entry(tmp, &personlist.list,list)
        printf("age:%d\t", tmp->age);

    return 0;
}

  

CMakelist.txt

include_directories(/usr/local/include)
add_executable(list list-demo.c)

  

linux内核list使用demo

原文:https://www.cnblogs.com/luckygxf/p/12292995.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!