В дополнение к различиям 16/32/64 бит могут возникать даже более сложные вещи.
Были машины, где sizeof (int *) будет одним значением, возможно 4, но где sizeof (char * ) больше. Машины, которые, естественно, обращаются к словам вместо байтов, должны «увеличивать» указатели на символы, чтобы указать, какую часть слова вы действительно хотите, чтобы правильно реализовать стандарт C / C ++.
Это сейчас очень необычно, поскольку аппаратное обеспечение дизайнеры узнали значение адресной адресации байтов.