C標準に関する別の質問。私はこれをテストしましたが、常にNULL < ptr
true になりptr
ますNULL
。しかし、標準では、ポインターの演算と比較は配列の境界内でのみ定義されると述べていることは知っています。NULL < ptr
特定の比較が合法かどうかはわかりません。
編集: K&R を読んでいて、次の引用を見つけました。
任意のポインタは、ゼロと等しいか等しくないかを意味のある形で比較できます。ただし、同じ配列のメンバーを指していないポインターとの演算または比較の動作は未定義です。
これが、この質問に対して既に与えられた回答に影響するかどうかはわかりません。いずれにせよ、is a pointerp > NULL
が常に true を返すことが保証されているかどうかはまだわかりません。p
!=NULL