fork download
  1. #include <iostream>
  2.  
  3. struct abcde
  4. {
  5. uint16_t a;
  6. uint8_t b;
  7. uint16_t c;
  8. uint8_t d;
  9. uint16_t e;
  10. };
  11.  
  12.  
  13. struct abcde_packed
  14. {
  15. uint16_t a;
  16. uint8_t b;
  17. uint16_t c;
  18. uint8_t d;
  19. uint16_t e;
  20. } __attribute__((packed));
  21.  
  22.  
  23.  
  24. int main() {
  25. abcde x;
  26. std::cout << sizeof(x) << "\n" << sizeof(x.a) + sizeof(x.b) + sizeof(x.c) + sizeof(x.d) + sizeof(x.e) << "\n\n";
  27.  
  28. abcde_packed y;
  29. std::cout << sizeof(y) << "\n" << sizeof(y.a) + sizeof(y.b) + sizeof(y.c) + sizeof(y.d) + sizeof(y.e) << "\n";
  30.  
  31. return 0;
  32. }
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
10
8

8
8