fork download
  1. #include <iostream>
  2. #include <stdint.h>
  3.  
  4. void a()
  5. {
  6. uint32_t i;
  7. *(volatile uint32_t *)&i = 42;
  8.  
  9. volatile uint8_t * c = reinterpret_cast<volatile uint8_t *>(&i);
  10. c[0] = 0;
  11. c[1] = 0;
  12. c[2] = 0;
  13. c[3] = 0;
  14.  
  15. std::cout << "i = " << *(volatile int *)&i << std::endl;
  16. }
  17.  
  18. void b()
  19. {
  20. uint32_t i;
  21. *(volatile uint32_t *)&i = 42;
  22.  
  23. volatile uint16_t * s = reinterpret_cast<volatile uint16_t *>(&i);
  24. s[0] = 0;
  25. s[1] = 0;
  26.  
  27. std::cout << "i = " << *(volatile uint32_t *)&i << std::endl;
  28. }
  29.  
  30. int main()
  31. {
  32. a();
  33. b();
  34. }
Success #stdin #stdout 0s 2852KB
stdin
Standard input is empty
stdout
i = 0
i = 0