c - typedef 语句的不同命名方式的目的是什么?

标签 c struct typedef

我有关于typedef 语句的问题。

这里是我总是写这个语句的代码:

typedef struct name
{

}name_t;

这是我如何编写的另一个示例:

typedef struct
{

}name;

问题是:这种方式的目的是什么?

最佳答案

如果必须在 typedef 完成之前引用类型,则需要使用第一种格式。如果结构包含指向同一类型的指针,则这是必需的。这在定义链表时会出现。

typedef struct name
{
    int value;
    struct name *next;
}name_t

您不能在结构声明中使用 name_t *next;,因为 name_t 直到稍后才定义。

关于c - typedef 语句的不同命名方式的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61476558/

相关文章:

c - C 中的 typedef union 和 eclipse 自动完成

C++ 外部模板实例化和 typedef (gcc)

c - 通过引用传递给函数时分配结构和填充字段

c++ - 动态访问 union

c - #define 调试 1

c - 如何将结构初始化为空?

c# - 如何在不装箱的情况下存储不同类型的结构

gcc - 为什么 GCC 4.3 出现 "Redefinition of typedef"错误而不是 GCC 4.6?

c - 如何在 Windows/Linux C 上查看 CPU 名称、型号、速度?

c - 链接 c 文件时覆盖变量