まずはNULLポインタについて
コンピュータがなにか作業するときにデータを置いておくスペースとして主記憶、いわゆるメモリがあるのはおそらくみんな知ってるよね
ポインタはこのメモリ上の番地(アドレス)を格納する変数で、アドレスとデータ型の情報をあわせてどこに何をしまったかを管理できる
しかし、まだ必要なデータが用意されてないなどの理由でポインタが「どこも指していない」状態のとき、それをどう表現するべきかという問題がある
CやC派生の言語では、ポインタがNULLという特殊な場所を指しているとき、そのポインタはNULLポインタと呼ばれ、これが「どこも指していない」状態を示すものとして使われる
ちなみに「NULLという特殊な場所」というけど実体はメモリの0番地で、ここはふつうユーザーがアクセスできない領域なのでこういう特殊状態を表すための値として白羽の矢が立ったというわけ