是的,这是可能的,但我建议不要这样做。位域的长度和打包是不可移植的。联合体的规模很难预测(参见此处)。使用联合或位域时会给代码带来一定程度的复杂性。虽然这种复杂性在您的代码中可能是可以接受的,但将两者结合起来可能会导致不可接受的复杂性。如果您使用联合、结构和位域,则会遇到内存对齐问题。
如果这是只需要在一台机器上构建和运行的一次性代码,那么它可能没问题。但是,如果您将其检查到版本控制中,它将永远存在,我建议您不要这样做。
如果您举例说明为什么要这样做,我或其他人可以提出更好的选择。
编辑:根据评论进行澄清并寻求反馈。