【问题标题】:what is means by struct node , linked list in c++c++中的结构节点,链表是什么意思
【发布时间】:2021-08-14 07:18:52
【问题描述】:

我正在观看“在 C++ 中实现链表”的教程视频。在那个教程中,我不明白这段代码:

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

struct 是一种数据类型,node 是什么意思?它是一种数据类型还是只是一个名称?另外,我了解int data;node* next; 是什么?我知道它是一个指针,我知道next 是一个名字,node 是什么?是名称还是数据类型?

【问题讨论】:

  • 它只是一个名字,你可以随意命名。
  • 无论您观看的任何视频都应由可靠的语言参考和/或a good book 补充(实际上已被取代)。不清楚 struct 是什么,它们是如何声明的,和/或如何使用它是 C++ 的基础。简而言之:倒带并找到一个较早的视频,一定会得到很好的参考。
  • 如果您在看教程时没有很好地理解指针 是什么,那将很难理解。先看一个关于指针的教程。
  • @Thirumal 131 - 是名称还是数据类型? - 它是一种数据类型的名称,由@987654330 定义@声明。

标签: c++ pointers data-structures


【解决方案1】:

一般struct关键字使用如下

struct some_name_to_identify_the_structure{
  data types
};

在你的代码中,定义如下

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

也可以这样写

struct some_random_name_123{
int data;
some_random_name_123 *next;
};

所以,它只是一个名称,node *next 是一个指向结构本身的指针。

【讨论】:

  • 我应该怎么称呼它,我的意思是如果我创建一个“char function() { //some code };”我把它称为一个函数,如果我创建一个类,我知道它是类,我告诉其他人它是一个类,我应该如何告诉其他人它是什么,它是我使用 struct datatype 创建的函数吗?它叫什么名字?+
  • @Thirumal131 struct 是一种自定义数据类型,可以包含不同类型的数据类型。考虑一个装有杂货的篮子,里面会有水果、蔬菜和其他不同的东西。在这种情况下,篮子是一个结构,其中的杂货是数据类型。您不能像函数一样调用结构,而是使用它来声明变量。就像您将整数声明为int a 一样,您可以针对您的情况将结构变量声明为node a。我建议你遵循一本好的 C 编程书籍来更深入地了解。如果您确实理解它,请考虑接受我的回答:)
  • 是的! ,现在我明白了,所以感谢您的明确解释。如果您向我推荐一本书,这将非常有帮助,顺便说一下,我正在听 C++,并且我知道一些基本的语句,循环,类,数组和指针。
【解决方案2】:

简而言之,结构是相关数据和方法的容器,允许访问和修改结构内的数据,这些数据可以通过提供的名称来引用。

所以 node 这是它提供的名称。

【讨论】:

    【解决方案3】:

    struct是数据类型,node是什么意思?它是一种数据类型还是只是一个名称?另外,我了解 int 数据;下一个节点*是什么;?我知道它是一个指针,我知道 next 是一个名称,什么是节点?是名称还是数据类型?

    Node 既是用户定义的数据类型,也是结构的名称。 node* next 表示一个名为 next 的指针变量,它指向 node 类型的内存地址(指向另一个 node 结构)。

    就链表而言,您有一个表示节点的结构。这个节点中有一些数据(在这种情况下是一个整数变量),它还有一个指向下一个或另一个相同类型的节点结构的指针。这就像一列货车中的货车或链环中的链条。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-17
      • 1970-01-01
      • 2021-01-18
      • 2015-04-11
      • 2014-09-01
      • 2010-10-23
      • 1970-01-01
      相关资源
      最近更新 更多