为什么typedef相同的标识符
why typedef the same identifier
对同一个标识符进行类型定义是否有任何好处,如下所示:
typedef struct Struct_name
{
//something....
} Struct_name;
我主要通过 struct
接触过这种风格
C++ 已经允许您将 struct Struct_name
称为 Struct_name
。但它有一个特殊的规则,允许这个别名通过 typedef 向 Struct_name
声明相同的标识符。
原因是 C 兼容性。在 C 语言中,只有 typedef
存在时,struct Struct_name
才能被称为 Struct_name
。因此,您所看到的允许将此结构放入 C 和 C++ 代码都包含的 header 中。因此,让两个代码库都将类型引用为 struct Struct_name
和 Struct_name
.
对同一个标识符进行类型定义是否有任何好处,如下所示:
typedef struct Struct_name
{
//something....
} Struct_name;
我主要通过 struct
C++ 已经允许您将 struct Struct_name
称为 Struct_name
。但它有一个特殊的规则,允许这个别名通过 typedef 向 Struct_name
声明相同的标识符。
原因是 C 兼容性。在 C 语言中,只有 typedef
存在时,struct Struct_name
才能被称为 Struct_name
。因此,您所看到的允许将此结构放入 C 和 C++ 代码都包含的 header 中。因此,让两个代码库都将类型引用为 struct Struct_name
和 Struct_name
.