【问题标题】:declaring structs in c with a struct inside a struct [duplicate]用结构内的结构在c中声明结构[重复]
【发布时间】:2015-04-27 14:50:57
【问题描述】:

我是 c 编程新手,我正在尝试理解 c 中的结构概念 在许多教程中,他们解释了如何使用下面的示例声明结构

 struct node
    {
      int data;
      int value;
    }

我理解上面的情况,但是在下面的情况下,他们在里面声明了一个结构

 struct node
{
    int data;
    struct node *next;  \\ what is this?  why they declared like it ?
}

【问题讨论】:

  • 那不是嵌套结构。结构体node 的最后一个成员是一个指针,指向struct node 的类型。

标签: c struct


【解决方案1】:

C 中的嵌套结构只不过是结构中的结构。当我们在结构中声明结构成员时,可以在另一个结构中声明一个结构。结构体变量可以是普通的结构体变量,也可以是访问数据的指针变量。


这里有一些关于嵌套结构的陈述:

  • 在另一个结构中写入的结构称为两个结构的嵌套。
  • C 编程语言中允许嵌套结构。
  • 我们可以将一个结构写入另一个结构内作为另一个结构的成员。

您之前可能需要使用node 的“前向声明”。

这里有一个很好的解释和例子:Nested struct in C language

【讨论】:

    猜你喜欢
    • 2016-05-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-30
    相关资源
    最近更新 更多