teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

確認について追記

2020/06/12 05:24

投稿

angel_p_57
angel_p_57

スコア1681

answer CHANGED
@@ -6,4 +6,7 @@
6
6
  > 値0をもつ整数定数式又はその定数式を型void *にキャストした式を,空ポインタ定数(null pointer
7
7
  constant)と呼ぶ。空ポインタ定数をポインタ型に型変換した場合,その結果のポインタを空ポインタ(null pointer)と呼び,いかなるオブジェクト**又は関数へのポインタと比較しても等しくない**ことを保証する。
8
8
 
9
- > 空ポインタを他のポインタ型に型変換すると,その型の空ポインタを生成する。**二つの空ポインタは比較して等しく**なければならない。
9
+ > 空ポインタを他のポインタ型に型変換すると,その型の空ポインタを生成する。**二つの空ポインタは比較して等しく**なければならない。
10
+
11
+ 確認のことを書くのを忘れてました。上にある通り、空ポインタ同士の == による比較は「真」ですので、それで判断できます。
12
+ もちろん if ( function_pointer ) のように、ポインタを条件式に指定するだけで ( 自動的に 0 との比較になり、0 から空ポインタが作られて比較対象になるため )、それでも十分です。

1

「何も指していない状態で初期化」という質問の前提を見落としていたので、該当しない部分を削りました

2020/06/12 05:24

投稿

angel_p_57
angel_p_57

スコア1681

answer CHANGED
@@ -1,9 +1,5 @@
1
- > どのように初期化する、
1
+ > どのように初期化する、あるいは何も指していないことを確認するのが正しいのでしょうか。
2
2
 
3
- 初期値を定めていないのならば、そもそも初期化の必要がありません
4
-
5
- > あるいは何も指していないことを確認するのが正しいのでしょうか。
6
-
7
3
  「何も指していない」を表現したいのであれば、0 または NULL を初期値に設定、あるいは代入すれば十分です。
8
4
 
9
5
  参考: JIS X 3010:2003 6.3.2.3 より