2015-04-03 98 views

回答

1

以下是无效的C(它不会编译):

struct link *node 
{ 
    int data; 
    struct link *next; 
}; 

你可能想:

struct link 
{ 
    int data; 
    struct link *next; 
} * node; 

是下一个元素的指针的指针[? ]

不,如果tantiated)next是指向struct link


什么node=node->next办?

它分配给node,其中node->next指向。

0

在你的结构中,实例字段next存储一个指向下一个链接的指针。

此行

currNode = currNode->next; 

...使指针currNode指向该遵循currNode先前指向节点的节点。

运算符->与点语法相同,但是对于指针。

但是,您提供的代码node->next不会执行任何操作,因为您没有名为“node”的变量。

此外,你的struct的定义将不会编译。它应该是struct link,而不是struct link *node

+0

周围有一些很好的网站解释链接列表,这似乎粗略看起来没问题http://www.cprogramming.com/tutorial/c/lesson15.html – 2015-04-03 13:39:31

+0

@AngusConnell据我了解,问题更多的是关于C和指针而不是关于链表。我想我们会看看OP的功能。 – Sildoreth 2015-04-03 13:40:45