ヌルポインタとは、ポインタの値であり、ポインタがどこも指し示さないことを表す値のことです。
ヌルポインタの値やデータ型は、プログラミング言語により異なります。
あるプログラミング言語では、ヌルポインタは、オブジェクト形式マクロにより、NULLで定義されており、例えば、以下のように利用されます。
int *p = NULL;
こうすることでポインタが指し示す値の参照ができなくなります。つまり、このとき、*pは使えません。よって、ポインタに適切なメモリアドレスが代入されていないことを明示できます。
後で適切なメモリアドレスをポインタpに代入することでポインタpを使えるようになります。
もし、以下のように、ポインタの宣言のみした場合、pの値は、メインメモリに元々保存されていた適当な値になります。
int *p;
よって、*pも適当な値になります。適切なメモリアドレスをpに代入するまでは、NULLを代入しておく方が安全です。
他のヌルポインタの利用例においても、ヌルポインタは、ポインタを安全に利用するために利用されます。