节点*链接列表中的下一个

cur*_*der 2 c++ data-structures

我是数据结构和算法的新手.我遇到了以下代码

typedef struct node                                                
    {                                                               
          int data;            
          node *next;            
    };               
Run Code Online (Sandbox Code Playgroud)

任何人都可以告诉我为什么我们接下来宣布节点*?不能*下一个被声明为int*next?

mbi*_*tte 11

因为你希望能够做到n->next->next->next...等等.

next需要指向另一个node,而不是一个int,否则你将无法int在那之后看到下一个(你做不到(aInt)->next,可以吗?)!

您可以将nodes视为包含int(或任何其他数据)的小方框以及对下一个小方框的引用.如果您直接指向数据,那么之后您将无法获得该框(这只是愚蠢的数据!) - 您需要指向框node!

这是一个可能有助于了解我的意思的图像(学分转到弗吉尼亚理工大学): 这是一个解释它的小图像