The representation of a void* is unspecified, and does
not have to be
 the same as a char*, 
Um...
       6.2.5  Types
...
       [#26] A pointer to void shall have the  same  representation
       and  alignment  requirements  as  a  pointer  to a character
       type.
  Any two types other than char could be in separate
address spaces, 
Not quite; there are certain pairs of types which are required to be
"the same".  Continuing the above quote:
                 Similarly, pointers to  qualified  or  unqualified
       versions   of   compatible   types   shall   have  the  same
       representation and alignment requirements.  All pointers  to
       structure  types  shall  have  the  same  representation and
       alignment requirements as each other.  All pointers to union
       types  shall  have  the  same  representation  and alignment
       requirements as each other.  Pointers to  other  types  need
       not  have the same representation or alignment requirements.
/~\ The ASCII                             Mouse
\ / Ribbon Campaign
 X  Against HTML                mouse at 
rodents-montreal.org
/ \ Email!           7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B