在结构体或联合体中,若位域所采用的类型并非 int、signed int 或 unsigned int,则该声明不符合标准规范。
1、 规则与检测等级的映射关系(QAC)

2、 若在 struct 或 union 中定义位域时使用了除 int、signed int 和 unsigned int 以外的类型,则视为非法声明。
3、 根据 ISO/IEC 9899:C 标准规定,位域仅允许使用若干限定的基本整型进行定义。
4、 某些编译器虽支持以 char、short 或枚举类型(enum)作为位域类型,但此类特性属于非标准扩展,无法保证跨平台兼容性。
5、 在同一 struct 或 union 声明中,即使存在多个违反标准的位域定义,警告信息 0635 也仅报告一次。

6、 编码规范优化示例

7、 规则与检查等级的对应关系(QAC)

8、 无符号整数常量未添加 U 后缀进行显式标识。
9、 整型字面量的具体类型取决于其数值范围、目标平台下 int 的宽度(例如 16 位或 32 位),以及是否带有类型后缀。
10、 官方参考示例

11、 编码规范修正示例
