我正在做一个学校项目,我将需要多个链表,每个链表存储不同类型的值。到目前为止,我有这个:
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;
};
并将其存储在列表中?
我都不喜欢这些,但是我没有其他想法。