I have read from the Wikipedia that:
“References cannot be null, whereas pointers can; every reference refers to some object, although it may or may n
In your code:
person *object=NULL;
person &object1=*object;
you dereference a NULL pointer, so you get undefined behaviour. And to answer your question, there is no such thing as a NULL reference.
And to address the other part of your question, just because a program compiles, there is no guarantee that it is correct or that it will work. C++ compilers are not required to even attempt to diagnose the kind of error your code contains.