64,654
社区成员
发帖
与我相关
我的任务
分享
//#pragma pack(1)
#include<stdio.h>
int main()
{
struct A
{
unsigned char a:1;
unsigned char b0:2;
unsigned char e:6;
unsigned char f:4;
unsigned char k;
unsigned char f2:4;
unsigned long int n;
}m;
printf("sizeof(m)=%d,sizeof(long)=%d\n",sizeof(m),sizeof(long));
return 0;
}
struct A
{
unsigned char a:1;
unsigned char b0:2;
unsigned char e:6;
unsigned char f:4;
// 上面部分占2个字节
unsigned char k;
// 占一个字节
unsigned char f2:4;
// 占一个字节,还有四个预留位
unsigned long int n;
}m;
这个应该和操作系统的是32位还是64位没有关系吧?
很直观啊,一个字节占8位