gpt4 book ai didi

c - C中不同定义的同名结构

转载 作者:太空狗 更新时间:2023-10-29 16:37:44 24 4
gpt4 key购买 nike

是否允许在同一项目的 2 个不同的 c 文件中使用具有不同定义的相同名称结构。例如。

文件1.c

typedef struct
{
unsigned int unVar;

} abc;

文件2.c

typedef struct
{
int var;
} abc;

abc 用于两个文件中。当我将这些文件编译为同一项目的一部分时,没有错误,但我想了解这是否是正确的用法。

最佳答案

6.7.2.1 Structure and union specifiers

  1. The presence of a struct-declaration-list in a struct-or-union-specifier declares a new type,within a translation unit.

类型仅在翻译单元中定义,在本例中为 .c 文件。

在两个不同的翻译单元中定义两个具有相同名称的类型是没有问题的。

然而,这两种类型不兼容,除非它们遵循 6.2.7., p1 中描述的规则。您定义的类型不兼容

关于c - C中不同定义的同名结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35034277/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com