@math4tots When C was new, the C preprocessor was even newer, and it was optional, not trusted/used by all programmers. But knowledge of those "really old platforms" (which weren't so old then) was more widespread. So
p = 0
was a totally official way to get a null pointer, even if the bit pattern wasn't 0. But this isn't — or shouldn't be — surprising!
float f = 0
gets you a machine-dependent bit pattern that might not be all-bits-0. For that matter, saying
a = b + c
gets you a machine-dependent opcode for the
+
operator. —
Steve Summit 55 secs ago