C中的Typedef / Global结构,不使用“ typedef”?

问题描述 投票:0回答:1

语言:C

我希望我知道如何更好地在标题中引用此内容。我最近遇到了有关结构定义的这段代码,而我对语法不熟悉,尤其是“ * Node”部分。可能有人请帮助我了解发生了什么事?为什么/我们为什么不使用typedef /这完全是其他东西吗?作为进一步参考,源代码在某些函数定义中使用“节点”(不带星号),而无需在函数本身内传递或声明任何“节点”变量。这使我认为这是某种全局变量声明。任何帮助表示赞赏!

struct node {
    char word[MAX];
    struct node *left;
    struct node *right;
} *Node;
c data-structures struct global-variables typedef
1个回答
0
投票

代码定义了指向Node的指针名称struct。参见declare Node as pointer to struct node

也许更容易理解,分为两个步骤。

  struct node {
      char word[MAX];
      struct node *left;
      struct node *right;
  };

  struct node *Node;
© www.soinside.com 2019 - 2024. All rights reserved.