ヌルポインタ 【 null pointer 】
引用テキストヌルポインタとは、変数や関数のアドレスを格納するポインタ変数のうち、どのアドレスも指していない状態の変数のこと。実際の値は言語や処理系によって異なるが、0やランダムな値などが取られることが多い。宣言だけして領域の確保などを行っていない場合などがこれにあたり、ヌルポインタの指し示す領域に値を代入したり読み取ったりするとエラーや例外、あるいは予期しない動作を起こす。
IT用語辞典 e-Words から
Cではヌルポインタは「どこも指していないことを保障するポインタ」であり、「宣言だけして領域の確保などを行っていない場合」は単純に「どこを指しているかわからないポインタ」ではないのかと考えていて、すこし混乱しています。
つまり
C
1char *ptr; // ptr はヌルポイインタではない 2 3if (ptr == NULL) 4{ 5// ptr はヌルポインタではないので実行されない 6} 7 8ptr = NULL; // ptr はヌルポインタ 9 10if (ptr == NULL) 11{ 12// ptr はヌルポインタなので実行される 13} 14
Cだけが特別な定義をしているということでしょうか、私の理解が間違っているということでしょうか?

回答5件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/12/04 01:07
退会済みユーザー
2015/12/04 11:48
2015/12/04 12:22
2015/12/05 12:49 編集