按C中的值在列表中创建尾部和头部

时间:2015-04-25 00:42:02

标签: c list pass-by-value

我想在C中创建一个列表,其中head和tail不是指针,而是按值的节点。可以吗?

我想使用头部和尾部作为空框架来放置列表。我知道如何创建它作为指针,只想知道这一点,因为我只是意识到我不知道如何单独做这件事。

struct List{Node head, Node tail};
struct Node{struct Node* next, struct Node* prev, void* data};

2 个答案:

答案 0 :(得分:0)

带有虚拟头部和尾部的列表(这里介绍的方式)的主要优点是列表函数中没有特殊情况(插入,移除,等等)。 头尾指针使您可以处理每个功能中的特殊情况。

答案 1 :(得分:-1)

非指针对象的链表 1 是不可能的,它根本没有意义,因为整点列表中的nextprevious成员 POINT 指向同一类型的另一个实例,因此它们必须是指针。

[1] 单链或双链表。