>But, most types don't guarantee that this bit pattern is analogous to a zero value

I'm not certain that is correct. The C standards for calloc()
The calloc() function shall allocate unused space for an array of nelem elements each of whose size in bytes is elsize. The space shall be initialized to all bits 0.
It doesn't restrict the kinds of arrays that may be allocated -- arrays of any type, including user-defined types such as structures, can be allocated. Of course, this assumes the standards to not contridict itself someplace else.