ヌルポインター
【英】null pointer
ヌルポインターとは、どこも指していないことが保証されているポインターのことである。
ヌルポインターは、どのようなポインターの値とも区別できる特別なポインター値である。そのため、関数がエラーを通知するための戻り値にする場合であるとか、まだどこも指し示していないことを明示する場合に利用される。
0をヌルポインターとする場合が多いが、C言語では規格で決められてはいない。ただし、ポインターを求められる場所で0が使われるとヌルポインターと扱われるから、例外的な扱いをされる値である。
なお、初期化されていないポインターは、指している場所が不定なだけで、結果的にそうである場合もあるにせよ、ヌルポインターとは区別すべきものである。
ヌルポインタ
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/04/12 15:28 UTC 版)
ヌルポインタ(英: null pointer 英語: [nʌl pɔɪntə(ɹ)])とは、何のオブジェクトも指していないことを表す特別なポインタの値である。
|
- ^ ISO/IEC 9899, clause 6.3.2.3, paragraph 4.
- ^ ISO/IEC 9899, clause 7.17, paragraph 3: NULL... which expands to an implementation-defined null pointer constant...
- ^ stddef.h - standard type definitions - The Open Group Base Specifications Issue 7
- ^ Can a conforming C implementation #define NULL to be something wacky - Stack Overflow
- ^ comp.lang.c FAQ list - Question 5.17
- ^ “C FAQ 5.17 ヌルポインターに0以外の値を使用するマシンや、異なる型のポインターに異なる内部形式を持つマシンは本当に存在するのか。”. C言語 FAQ 日本語訳. 2021年4月12日閲覧。
- ^ Stroustrup, Bjarne (March 2001). “Chapter 5: Pointers, Arrays, and Structures: 5.1.1: Zero”. The C++ Programming Language (14th printing of 3rd ed.). United States and Canada: Addison–Wesley. p. 88. ISBN 0-201-88954-4. "In C, it has been popular to define a macro
NULL
to represent the zero pointer. Because of C++'s tighter type checking, the use of plain 0, rather than any suggestedNULL
macro, leads to fewer problems. If you feel you must defineNULL
, useconst int NULL = 0;
const
qualifier (§5.4) prevents accidental redefinition ofNULL
and ensures thatNULL
can be used where a constant is required." - ^ nullptr - cpprefjp C++日本語リファレンス
- ^ NULL - cppreference.com
- ^ word symbol、すなわち予約語。『PASCAL 原書第4版』§1.2
- ^ 『PASCAL 原書第4版』§8.1
- ^ Tony Hoare (2009年8月25日). “Null References: The Billion Dollar Mistake”. InfoQ.com. 2016年3月9日閲覧。
- 1 ヌルポインタとは
- 2 ヌルポインタの概要
- 3 その他の言語
- 4 外部リンク
- ヌルポインタのページへのリンク