fork download
  1. #include <stdio.h>
  2.  
  3. #pragma pack(1)
  4. typedef struct
  5. {
  6. union
  7. {
  8. struct
  9. {
  10. unsigned int p1:4;
  11. unsigned int p2:2;
  12. unsigned int p3:4;
  13. unsigned int p4:6;
  14. };
  15. } u;
  16. } A;
  17.  
  18. typedef struct
  19. {
  20. union
  21. {
  22. struct
  23. {
  24. unsigned int p1:4;
  25. unsigned int p2:2;
  26. unsigned int p3:4;
  27. unsigned int p4:6;
  28. };
  29. unsigned int kk;
  30. } u;
  31. } B;
  32. #pragma pack()
  33.  
  34. int main()
  35. {
  36. printf("%u\n", sizeof(A));
  37.  
  38. B obj = {3, 2, 4, 5};
  39.  
  40. printf("%02x %02x\n", ((char*)&obj)[1], ((char*)&obj)[0]);
  41.  
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0.02s 2680KB
stdin
Standard input is empty
stdout
2
15 23