结构中的结构

时间:2010-12-08 00:05:29

标签: c

这种用法是否合适,是什么意思?

struct Taken
{
int *p;
struct Taken *previous;
};

6 个答案:

答案 0 :(得分:7)

它可能是一个链表,但它不是结构中的结构,它是指向结构的指针。

答案 1 :(得分:3)

struct Taken *previous;

此行声明previous是指向同一类型Taken的另一个结构的指针 - 这可用于将若干此类结构链接在一起,例如,以形成链接列表。如果你不熟悉这种用法,你应该阅读指针及其应用程序。

答案 2 :(得分:2)

是的,这是链表的典型数据结构。链表是一种数据结构,由一系列数据记录组成,这样每个记录中都有一个字段,其中包含序列中下一个/上一个记录的引用(即链接)

http://en.wikipedia.org/wiki/Linked_list

答案 3 :(得分:2)

是的,这是一个合适的用法,而你所看到的很可能是某种链表中的节点。

答案 4 :(得分:0)

这意味着previous是指向Taken结构的指针。是的,它是有效的。

答案 5 :(得分:0)

这是linked list中使用的标准元素。