Old x86 systems had multiple memory models and "near" and "far"
pointers that were of different sizes.
Current/recent x86-32 still have them, but they're only needed for
visible segments (which few people seem to want now), or more than 4GB
(rather clunkily) without going to x86-64, a backwater we seem to have
passed by much more quickly than the years of 16-32bit torment.
I worked on a Cray T90 system where machine addresses pointed to
64-bit words, but the C compiler used 8-bit bytes. A char* pointer
stored a byte offset (0-7) in the high-order 3 bits of a word pointer.
(This worked because the system didn't support the full 64-bit address
space.)
The DEC PDP-10 had 36bit word, and nominal 18bit address space,
so a pointer to word or bigger could fit (and was often put) in a
halfword -- although to use the (often convenient) indirect and
indexed address modes it had to be stored in a fullword. Whereas a
pointer to subword used a hardware-defined 18+10+5bit 'byte pointer'
format stored in a fullword. Which were (deliberately) compatible in
that a byteptr could be used as a wordptr to the word containing the
byte (the unnecessary byte-selector being ignored).
The Tandem NonStop (retronymed NonStop 1 or TNS1 and AFAIK still
emulated in successor systems now from HP) has 16bit word and 64KW
address space, and uses a 16bit pointer to word or bigger, but a
15+1bit pointer to a byte within a word limited to the lower 32KW.
In this case indirecting through a wordptr as if it were a byteptr or
vice versa causes chaos. TNS was described as being like HP 3000 in
this and some other (ISA) respects, and I heard that DG Nova did much
the same thing, but I don't have personal experience of either.
On a related issue, both TNS1 and successor TNS2 (with 32bit byte
pointers for all data) have a completely different format for pointers
_to functions_, which are in separate spaces often not addressable by
data pointers at all. On this architecture nonstandard tricks like
sizeoffunc = &nextfunc - &thisfunc;
or
int main [] = { 05000, 0207 };
aren't even in the same county as working.