It isn't pointing to any memory. Or perhaps a reserved piece of memory specifically allocated for a null pointer. Honestly I'm not sure but you can be sure you wont corrupt any data, if you try to access the value of a null pointer it will crash your program.
I read somewhere that a pointer pointing to null means it's pointing to a zero-th position in memory that is OS reserved?
This is more or less correct.
A pointer just contains an address.
Different addresses can refer to different things (often memory, but maybe also a hardware register or something). Address 0 is set aside for "nothing", so the address goes nowhere, or simply goes somewhere that your program cannot access.