链表结构中的下一个指针元素

时间:2015-04-03 13:31:38

标签: c pointers linked-list

在代码中

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

下一个元素指向指针吗? node=node->next做了什么?

2 个答案:

答案 0 :(得分:1)

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

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

你可能想要:

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

  

是指向[?]

的下一个元素指针

不,(如果已实例化)next是指向struct link的指针。


  

node=node->next做了什么?

它分配给node node->next指向的地方。

答案 1 :(得分:0)

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

这一行

currNode = currNode->next;

...使指针currNode指向currNode之前指向的节点之后的节点。

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

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

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