The size of the pointer is system, compiler, and architecture dependent. On 32-bit systems, there will usually be 32 bits, while on 64-bit systems they will usually be 64 bits.
If you are trying to save a pointer to an integer for later recovery to a pointer again, you can use the intptr_t type, which is an integral type large enough to hold the (I think) ordinary (non-functional) pointer types.
Mark b
source share