linux

如何在linux C程序中使用list.h

小樊
103
2024-08-10 23:33:36
栏目: 智能运维

要在Linux C程序中使用list.h,需要包含该头文件并使用其提供的函数来操作链表。以下是一个简单的示例:

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

int main() {
    // 创建一个空链表
    struct list_head my_list;
    INIT_LIST_HEAD(&my_list);

    // 添加元素到链表
    struct my_data {
        int value;
        struct list_head list;
    };

    struct my_data data1, data2, data3;
    data1.value = 1;
    data2.value = 2;
    data3.value = 3;

    list_add_tail(&data1.list, &my_list);
    list_add_tail(&data2.list, &my_list);
    list_add_tail(&data3.list, &my_list);

    // 遍历链表并打印元素的值
    struct list_head *pos;
    struct my_data *entry;

    list_for_each(pos, &my_list) {
        entry = list_entry(pos, struct my_data, list);
        printf("%d\n", entry->value);
    }

    return 0;
}

在此示例中,首先包含了list.h头文件,然后创建了一个空链表并添加了几个元素。接着使用list_for_each函数遍历链表并打印每个元素的值。注意,需要定义一个包含list_head结构的数据结构(如上面的my_data结构)来存储链表中的元素。

0
看了该问题的人还看了