由于每个编译可能查看不同的源文件,因此独立编译中的大多数兼容类型规则实质上是结构化的:
匹配标量(整型、浮点和指针)类型必须兼容,如同它们在相同的源文件中一样。
匹配结构、联合和枚举必须具有相同数目的成员。每个匹配成员都必须具有兼容类型(从单独编译的意义上讲),包括位字段宽度。
匹配结构必须具有相同顺序的成员。联合和枚举成员的顺序并不重要。
匹配枚举成员必须具有相同的值。
附加要求是,对于结构、联合和枚举,成员的名称(包括缺少未命名成员的名称)必须匹配,但是它们各自的标记不必匹配。