问个sizeof(struct)的问题
计算某struct之前, 要先计算此struct的对齐字节
1 数据对齐, 是取决于CPU ?还是操作系统 ? 还是编译器?(比如win32的VC,Linux的g++ )
2 一般情况下, 没有明确指定#pragam pack()的情况下 , 默认采用几字节对齐 ? ? 查资料看的话大部分都是以4字节对齐的
3 下面的这个结构体 ,在书上没有提到过,其中的1,5,12这三个数字是什么意思 ?
struct S
{
unsigned int f1 : 1;
unsigned int f2 : 5;
unsigned int f3 : 12;
};