つかお前ら、そのエネルギーは>>287にぶつけて有効的に使うべきだろ。
編集日時から、対象は「ポインタ」「配列とポインタ」だし。

ざっくり見たところ確かにいろいろ突っ込みどころが多すぎるが、一つずつやるしかない。
そこでヌルポの記述を抜き出してみる。

> NULLポインタ[編集]
> NULLポインタ(ナルポインタ、ヌルポインタ、空ポインタ)とは、
> 何も指しておらず、有効などんなポインタと比較しても等しくならないことが保証されているポインタのことである。
> そのため、返却値にポインタをとる関数の異常時の返却値として用いたり、
> 連結リストで末尾のデータで次の要素がないことを示すために使われたりする。
> なお、NULLポインタを経由して参照した場合、OSが異常を検知して即座にプログラムを停止させてくれることもあるが、
> そうでない環境も存在するので注意が必要である。 [2]
> NULLポインタの使用例として、 fopen関数はオープン操作に失敗した場合、空ポインタを返す。
> 詳細はC言語/標準ライブラリ/入出力#fopen関数を参照せよ。

うむ、全部書き直せと言いたくなるのは分かる。
そこで、俺が全部書き直してみよう。

NULLポインタ(ヌルポインタ)とは、
何も指していないことを意味する値が入ったポインタである。
有効なポインタとの比較は、等しくないことが保証されている。
ヌルポインタ同士の比較は、等しいことが推奨されている。(>>453)
ヌルポインタ自身の真偽は、偽であることが保証されている。(>>466)
これらの仕様等に簡便に整合するため、多くの処理系では0が割り当てられている。
ポインタを返す関数呼び出しが失敗した場合、ヌルポインタを返すことが多い。(fopenやmalloc)
これは、成功/失敗の判定が容易であり、また、バグ等でその領域を参照した場合にも、
メモリ保護が行われている一般のOS(Windows等)上ならエラーが検出されるからである。

安価の場所には、仕様書の該当項目へのリンクよろしくってことで。