7.18.2.4 Limits of integer types capable of holding object pointers
minimum value of pointer-holding signed integer type
INTPTR_MIN -(215 - 1)
maximum value of pointer-holding signed integer type
INTPTR_MAX 215 - 1
maximum value of pointer-holding unsigned integer type
UINTPTR_MAX 216 - 1