[英]Singly Linked List c++
我试图通过阅读一些代码并理解它来理解单向链表。 这段代码,在这个网站http://www.sanfoundry.com/cpp-program-implement-single-linked-list/上找到,有
struct node
{
int info;
struct node *next;
} *start;
我理解 int info 和 struct node *next 的作用,但是关闭括号后额外的 *start 是什么意思?
谢谢!
start
是struct node*
类型的变量 - 我猜它是列表的头部。
如果您发现拆分类型和变量更容易:
struct node
{
int info;
struct node *next;
};
struct node* start;
由于这是 C++,因此您也可以简化为node* start;
struct node
{
int info;
struct node *next;
};
将上述内容视为您将来将要使用的内容的模板。
因此,当您想使用上述结构来构建数据时,您需要定义一个变量或在内存中实例化该结构,如下所示
就像是
struct node mynode;
or
struct node* mynodeptr = new node;
要回答您的后续问题,可以在需要实例化node
变量的任何地方完成上述操作。 所以是的,它不必总是按照你原来的问题的方式来完成。
至于typedef
ing struct
有一个关于为什么要使用它的很好的讨论。 看看这里
它是结构节点类型的变量。 用作链表的头部。多次引用在链表中遍历。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.