You can and should write it like this:
#include <cstdint>
uintptr_t p = 0x0001FBDC;
int value = *reinterpret_cast<int *>(p);
Note that if there is some guarantee that ppoints to an integer, this behavior is undefined. A standard operating system will kill your process if you try to access an address that he did not expect from you. However, this may be a general scheme in free-running programs.
(Earlier versions of C ++ should say #include <stdint.h>and intptr_t.)