关于c语言的链表定义问题

假如我要在一个程序中定义多个链表(包含方法和链表元素),方法相同,而链表元素的数据类型不同,比如一个char另一个double还有一个float那我该如何写这个头文件?我... 假如我要在一个程序中定义多个链表(包含方法和链表元素),方法相同,而链表元素的数据类型不同,比如一个char 另一个double 还有一个float 那我该如何写这个头文件?
我找到定义的方法了
#defined new_list(list_name,type) struct list_name \
{ \
type value; \
struct list_name*next; \
\*省略方法 * \ \
} \
不过还是谢谢网友的热心解答
展开
 我来答
兔子和小强
推荐于2016-09-03 · TA获得超过6946个赞
知道大有可为答主
回答量:3332
采纳率:74%
帮助的人:1445万
展开全部

如果是C++,用模板很容易实现。C语言的话除了每一种类型数据和方法都定义一遍(不过这太繁琐),还可以考虑使用Union类型:

union u_tag{    // data type
    char ch;
    int d;
    double dl;
};

struct node {    // linked list node
    char type;
    union u_tag u;
    struct node *next;
};

// Linked list methods
依旧一生有你
2014-08-27 · TA获得超过276个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:40万
展开全部
依次定义,
如果是java或者C#这样的面向对象语言,可以定义类,在构造函数中传不同参数来设计不用类型的链表
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小染YB90I
2014-08-27 · TA获得超过311个赞
知道答主
回答量:128
采纳率:0%
帮助的人:181万
展开全部
有必要啊,while里面的malloc是重新建立一个节点啊,第一个malloc只是建立了一个;
ps:你这里malloc(LEN)和malloc(1)的效果是一样的;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式