一个头文件被两个不同源文件包含,则头文件中的结构、联合、枚举声明在两个不同的翻译单元中理论上是不同类型的,即使事实上完全一样(因为从同一个头文件而来)。标准为这种情况增加了额外的兼容性规则,即不同翻译单元中的结构、联合、枚举声明如果足够相似则认为类型是兼容的。注意,C99中新增要求不同翻译单元中的结构、联合的标签必须严格相同才能算类型兼容。
一个头文件被两个不同源文件包含,则头文件中的结构、联合、枚举声明在两个不同的翻译单元中理论上是不同类型的,即使事实上完全一样(因为从同一个头文件而来)。标准为这种情况增加了额外的兼容性规则,即不同翻译单元中的结构、联合、枚举声明如果足够相似则认为类型是兼容的。注意,C99中新增要求不同翻译单元中的结构、联合的标签必须严格相同才能算类型兼容。