C链接列表存储不同的数据类型吗?

时间:2018-10-15 23:15:23

标签: c linked-list

我正在做一个学校项目,我将需要多个链表,每个链表存储不同类型的值。到目前为止,我有这个:

struct list_element
{
    struct list_element *next;
    int data;
};

struct list
{
    struct list_element *first;
};

以及一些与之配合使用的函数,例如initList(结构列表*),deleteList(结构列表*),add(结构列表*)等。

但是我还需要一个列表,而不是int作为数据存储(例如float)。

在C语言中执行此操作的正确方法是什么?我是否只是制作另一个结构(list2),基本上只是复制和重命名可用于list的函数的一半?并拥有initList2(struct list2 *)...

或者我应该创建类似的内容

struct data
{
    void *data;
    char *data_type;
};

并将其存储在列表中?

我都不喜欢这些,但是我没有其他想法。

1 个答案:

答案 0 :(得分:0)

看看联合类型Union