 So, the use of the codice_1 avoids none of the issues with simply punning a pointer directly.Some compilers like GCC support such non-standard constructs as a language extension.For another example of type punning, see Stride of an array.