...
INT36-EX2: Any valid pointer to void
can be converted to intptr_t
or uintptr_t
and back with no change in value. This exception includes , including the underlying types if types. Use of types other than intptr_t
and or uintptr_t
are typedef
s, and any typedef
s that denote the same types as intptr_t
and uintptr_t
is discouraged, however, because it limits portability.
Code Block | ||||
---|---|---|---|---|
| ||||
#include <assert.h> void h(void) { intptr_t i = (intptr_t)(void *)&i; uintptr_t j = (uintptr_t)(void *)&j; void *ip = (void *)i; void *jp = (void *)j; assert(ip == &i); assert(jp == &j); } |
...