c - 用于定义的 typedef 结构

标签 c struct typedef

为什么在定义结构类型时使用 Node(..Node{..) 会出现编译时错误,如下所示。

typedef struct node Node;

Node{
  int data;
  Node *next;
};

有一个非常基本的概念让我感到困惑,请指教或推荐相关链接。

最佳答案

Typedef 用于为其他类型提供别名。它不是一个宏,它不能在使用的地方代替某些东西。

正确的定义可能是:

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

关于c - 用于定义的 typedef 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19758469/

相关文章:

c - 我怎样才能循环一个字符串?

c - 如何处理.dll依赖关系?

C 传递一个包含结构体数组的结构体

go - 将结构转换为 slice 结构

c++ - 有没有办法模拟 "strongdef"?

c - 语法错误 - 标记 ";"插入到 "{"之前

C - 执行命令的函数

c++ - 将值分配给原子用户定义结构的数组

c - 如何使指针在新结构中兼容?

C 结构与 typedef 结构问题