回答編集履歴
1
appendix
answer
CHANGED
@@ -19,4 +19,6 @@
|
|
19
19
|
void (*p)(void) = NULL;
|
20
20
|
```
|
21
21
|
|
22
|
-
マクロ`NULL`は「何らかの処理系定義の空ポインタ定数」に展開されますが、少なくともその処理系において「関数ポインタ型変数を合法的に空ポインタ(null pointer)で初期化できる値」であることは保証されます。
|
22
|
+
マクロ`NULL`は「何らかの処理系定義の空ポインタ定数」に展開されますが、少なくともその処理系において「関数ポインタ型変数を合法的に空ポインタ(null pointer)で初期化できる値」であることは保証されます。
|
23
|
+
|
24
|
+
おまけ:GNU Cコンパイラ(gcc)では、マクロ`NULL`をリテラル`0`でも式`((void*)0)`どちらでもない[処理系定義の空ポインタ定数`__null`](https://gcc.gnu.org/onlinedocs/libstdc++/manual/support.html#std.support.types.null)に展開します。
|