fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. union Test_t {
  5. char s[4];
  6. uint32_t i;
  7. int32_t si;
  8. uint8_t a[4];
  9. };
  10.  
  11. int main() {
  12. char* str1 = "\xEF\xBE\xAD\xDE";
  13. char str2[5] = "\xEF\xBE\xAD\xDE";
  14.  
  15. Test_t s1;
  16. s1.i = 0xDEADBEEF;
  17.  
  18. Test_t s2;
  19. s2.s[0] = '\xEF';
  20. s2.s[1] = '\xBE';
  21. s2.s[2] = '\xAD';
  22. s2.s[3] = '\xDE';
  23.  
  24. Test_t s3;
  25. s3.a[0] = 0xEF;
  26. s3.a[1] = 0xBE;
  27. s3.a[2] = 0xAD;
  28. s3.a[3] = 0xDE;
  29.  
  30. printf("%ld %u\n", sizeof(Test_t), s1.i);
  31. printf("%X\n%X\n%X\n%X\n%X", *str1, *str2, s1, s2, s3);
  32. return 0;
  33. }
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
4 3735928559
FFFFFFEF
FFFFFFEF
DEADBEEF
DEADBEEF
DEADBEEF