Even if two types have the same representation (such as
int
and long
), they are still different
types. This means that a pointer to int
cannot be
assigned to a pointer to long
without using a cast
operation.
This rule is relaxed in the common C and VAX C modes. Pointer conversions do not involve a representation change, but, because of alignment restrictions on some machines, access through an unaligned pointer can result in much slower access time, a machine exception, or unpredictable results.