Why memcmp Fails on Structs: Padding, Floats, Silent Bugs

How struct padding and IEEE 754 float representation cause memcmp to produce incorrect equality results, and why field-by-field comparison is the only fix