fork(1) download
  1. /******************************************************************************
  2.  
  3.   Online C Compiler.
  4.   Code, Compile, Run and Debug C program online.
  5. Write your code in this editor and press "Run" button to compile and execute it.
  6.  
  7. *******************************************************************************/
  8.  
  9. #include <stdio.h>
  10. #include <stdint.h>
  11.  
  12. struct S {
  13. uint8_t a;
  14. uint32_t b;
  15. uint16_t c;
  16. };
  17.  
  18. #pragma pack(push, 1)
  19. struct Pack {
  20. uint8_t a;
  21. uint32_t b;
  22. uint16_t c;
  23. };
  24. #pragma pack(pop)
  25.  
  26. int main()
  27. {
  28. printf("Hello World\n");
  29.  
  30. printf("struct size S:%i Pack:%i\n", sizeof(struct S), sizeof(struct Pack));
  31.  
  32. char arr[] = {4, 5, 0, 0, 0, 7, 0}; // a == 4, b == 5, c == 7
  33. struct S* s = (struct S*)arr;
  34. printf("a:%i, b:%i, c:%i\n", s->a, s->b, s->c);
  35.  
  36. struct Pack* p = (struct Pack*)arr;
  37. printf("a:%i, b:%i, c:%i\n", p->a, p->b, p->c);
  38.  
  39. return 0;
  40. }
  41.  
Success #stdin #stdout 0s 4312KB
stdin
Standard input is empty
stdout
Hello World
struct size S:12 Pack:7
a:4, b:1792, c:56776
a:4, b:5, c:7