ホームページ >バックエンド開発 >C++ >C のポインターには NULL とゼロ : どちらを選択するべきですか?

C のポインターには NULL とゼロ : どちらを選択するべきですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-26 17:56:14255ブラウズ

NULL or Zero for Pointers in C  : Which Should You Prefer?

C でのポインターには NULL またはゼロを優先する

C では、ポインターに NULL またはゼロ (0) を使用することが話題になりました。しばらくの間議論される問題。 C の初期の頃は NULL を void* ポインターに制限していましたが、その後、NULL は 0 として再定義されました。しかし、一部の人々は引き続きゼロを支持します。

ゼロを好む人々は、ゼロの方が本質的に論理的で便利だと主張します。彼らは、ゼロは真理値の比較に使用できるため、明示的な比較が必要な NULL よりも意味があると主張しています。さらに、既存の値に名前 (NULL) を付けることの価値にも疑問を抱いています。

一方、NULL を支持する人たちは、C の作成者である Bjarne Stroustrup によって提供されたガイダンスを引用しています。 Stroustrup 氏によると、C における NULL の定義は 0 であり、本質的に見た目の好みによるものです。彼は、NULL を含むマクロを避け、代わりに 0 を使用することを推奨しています。

Stroustrup 氏はまた、C 11 では nullptr キーワードが null ポインターの正式名として導入されたことにも言及しています。これにより、コード内で null ポインターを表現するための明確で一貫した方法が提供されます。

最終的には、0 と NULL のどちらを選択するかは個人の好みになる可能性があります。ただし、コミュニティの意見と言語の作成者が提供するガイダンスを考慮することが重要です。明確さと一貫性が最優先される場合は、nullptr の使用をお勧めします。

以上がC のポインターには NULL とゼロ : どちらを選択するべきですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。