sizeof()解决思路

sizeof()structA{chart:4chark:4unsignedshorti:8unsignedlongm}sizeof(A)8,这个怎么解?当把struct

sizeof()
struct   A
{
                char   t:4;
                char   k:4;
                unsigned   short   i:8;
                unsigned   long   m;
};

sizeof(A)=8,这个怎么解?
当把struct改为union的时候,sizeof(A)=   4,又怎么解?

[解决办法]
十分我也不放过.
union,取最大的字段,也就是unsigned long的大小.
struct,
char t:4; 1B
char k:4; 1B
unsigned short i:8; 2B
unsigned long m; 4B
total 8B,有什么疑问吗.
[解决办法]
搜索 内存对齐。