【问题标题】:C structure with pointer to self [duplicate]带有指向自身的指针的C结构[重复]
【发布时间】:2009-11-28 22:39:41
【问题描述】:

是否可以使用指向该类型结构的指针来定义结构?我的意思是:

typedef struct {
    char* name;
    node* parent;
} node;

就我尝试或阅读的内容而言,我不知道该怎么做,甚至不知道这是否可行。

【问题讨论】:

标签: c struct


【解决方案1】:

是的,但是你必须给结构命名,这样你才能引用它。

typedef struct node_ {
    char* name;
    struct node_ * parent;
} node;

名称node 仅在结构完全定义后才被声明。

【讨论】:

  • 非常感谢!那是我不知道的细节! :)
【解决方案2】:

您可以在typedef 中使用incomplete type

typedef struct node node;

struct node {
  char *name;
  node *parent;
};

【讨论】:

    【解决方案3】:

    是的,这是可能的。

    这就是链表的制作方式!

    【讨论】:

      【解决方案4】:

      你为什么不试试呢?您必须为结构命名,是的,这就是递归数据结构的工作方式。

      【讨论】:

      • OP 说他已经尝试过了。
      • 但是,正如我所写,我试过 id - 没用,所以我在这里问:)
      猜你喜欢
      • 2018-11-03
      • 1970-01-01
      • 2013-05-30
      • 1970-01-01
      • 2016-02-14
      • 1970-01-01
      • 2021-07-14
      • 1970-01-01
      • 2023-04-04
      相关资源
      最近更新 更多