可见s3的结果并不一样vc6.0的结果如果只是按位取,就很好理解,这样跟之前的union的存取规则又不一样了~~而对于gcc-4.1.1,s3=5还没想出该结果的原因。同时考虑
struct
{
unsigned short s1:3;
unsigned short s2:3;
unsigned short s3:3;
unsigned short s4:7;
}x;
最后s4的结果更加扑朔迷离~~请大家多指点~·
#include<stdio.h>
#include<stdlib.h>
int main(void)
{
union A{
char a;
char y:3;
char z:3;
char x:2;
}a;
可见s3的结果并不一样vc6.0的结果如果只是按位取,就很好理解,这样跟之前的union的存取规则又不一样了~~而对于gcc-4.1.1,s3=5还没想出该结果的原因。同时考虑
struct
{
unsigned short s1:3;
unsigned short s2:3;
unsigned short s3:3;
unsigned short s4:7;
}x;
最后s4的结果更加扑朔迷离~~请大家多指点~·