#include <stdio.h>
typedef struct {
unsigned int a:1;
unsigned int b:1;
}test1_t;
typedef struct {
int a:1;
int b:2;
int c:3;
}test2_t;
typedef struct {
char a;
short b;
int c;
}test3_t;
int main(void)
{
test1_t test1;
test1.a = 8;
test1.b = 9;
printf("===struct test1_t size: %ld===\n",sizeof(test1_t) );
printf("===struct test2_t size: %ld===\n",sizeof(test2_t) );
printf("===struct test3_t size: %ld===\n",sizeof(test3_t) );
printf("=== test1.a:%d, test1.b:%d ===\n", test1.a, test1.b);
return 0;
}
运行结果
===struct test1_t size: 4===
===struct test2_t size: 4===
===struct test3_t size: 8===
=== test1.a:0, test1.b:1 ===