I\'ve noticed something really strange. say I\'ve got the following structure defined
typedef struct
{
uint32_t a;
uint16_t b;
uint32_t c;
} foo;
C Standard [ISO/IEC 9899:2011] - 6.3.2.3, paragraph 7:
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 pointed-to type, the behavior is undefined.
Source: CERT Secure Coding Standards