struct node *下一个理解

时间:2017-07-16 14:31:19

标签: pointers linked-list cs50

在pset 5s演练中,节点结构的定义如下:

typedef struct node 
{   
   int value;
   struct node* next 
} node;
node* head = malloc(sizeof(node));
cursor = head;
 //update the cursor
cursor->next

然后当我们使用光标 - >下一个语句,跳转到下一个节点。结构如何准确地知道跳转到下一个连接它们的是什么?

我知道光标指向"当前节点"然后 - > next将转到链表中的下一个节点。

定义节点结构时,接下来是预定义的关键字吗?

就我对指针的理解而言,我们正在创建一个指向struct节点的指针并调用它" next",但我不知道节点是如何连接的。

由于

1 个答案:

答案 0 :(得分:1)

正如head指向当前节点一样,当前节点中的next指向其他节点。但要移至next节点,您必须编写cursor = head - > nextcursor = cursor - > next而不只是cursor - > next。也就是说,您必须将光标移动到下一个节点才能访问它的数据。请注意,您必须使用cursor - > next = malloc(sizeof(node)) ;将节点分配给下一个节点。否则,如果您尝试访问下一个节点的数据,则会出现分段错误。也许你应该再次通过指针和结构部分来清楚地理解它。一定要看短裤。