...
The C Standard, 6.3.2.3, paragraph 7 [ISO/IEC 9899:20112024], states
A pointer to an object or incomplete type may be converted to a pointer to a different object or incomplete type. If the resulting pointer is not correctly aligned for the referenced the referenced type, the behavior is undefined.
...
[Bryant 2003] | |
[ISO/IEC 9899:20112024] | 6.3.2.3, "Pointers" |
[Walfridsson 2003] | Aliasing, Pointer Casts and GCC 3.3 |
...