struct A { char t:4; char k:4; unsigned short i:8; unsigned long m; } sizeof(A)=?(不考虑边界对齐)
汪汪一只猫
浏览 159回答 2
2回答
蓝山帝景
char t:4; char类型在内存中占用1个字节,但是它在内存中只占用了4位char k:4; char类型在内存中占用1个字节,但是它在内存中只占用了4位所以两个char型只占用了1个字节,unsigned short i:8; short类型占用2个字节,在结构体中只用了8位,也就是实际在内容空间中使用了1个字节,但是需要1个字节的填充字节unsigned long m; long类型占用4个字节最后结果是:sizeof(A)=1+1+1+4=7 不考虑边界考虑边界应该是8