The NULL Pointer
No address has been placed in ptr, so its value is undefined. With ptr being undefined, a comparison involving p would be an error, although most C++ compilers would not flag the mistake.
It is possible to assign the value constant NULL to indicate that ptr does not point to a memory allocation (ptr is no longer undefined).