Weak typing in C allows type - casting memory to different types. Since the internal representation of most types is system - dependent, applying operations intended for data of one type to data of a different type will likely yield non-portable code and produce unexpected results.
...
In the following non-compliant code, assuming eight bits to a byte, if bit-fields of six and four bits are declared, is each bit-field contained within a byte, or are the bit-fields split across multiple bytes?
...
Making invalid assumptions about the type of type-cast data, especially bit-fields, can result in unexpected data values.
...