fork download
  1. #include<stdio.h>
  2. //#pragma pack(1)
  3. struct AA{
  4. unsigned char a:3; //LSB
  5. unsigned short b:5;
  6. unsigned int c:9; //MSB
  7. }aa;
  8. //#pragma pack()
  9. int main(){
  10. aa.a = 7;
  11. aa.b = 31;
  12. aa.c = 511;
  13.  
  14. unsigned char * ptr = (unsigned char *)&aa;
  15. for(int i=0; i< sizeof(aa); i++){
  16. printf("%p %x\n", ptr, *ptr);
  17. ptr++;
  18. }
  19.  
  20. printf("%d %d %d %d\n", sizeof(int), sizeof(char), sizeof(short), sizeof(aa));
  21. }
Success #stdin #stdout 0s 5280KB
stdin
Standard input is empty
stdout
0x55bf9c8b4014   ff
0x55bf9c8b4015   ff
0x55bf9c8b4016   1
0x55bf9c8b4017   0
4 1 2 4