C言語のif文において
if(!NULL)とするとif文の中が必ず実行され、if(NULL)とすると、if文の中が飛ばされますが、なぜこのような動作になるのでしょうか。
NULLはTRUEやFALSEのような意味合いを持つのですか…?
例えば下記のようなプログラムでもNULLかどうかが判定条件に使われているように思います。
if (!(p = (int*)malloc(s))) { printf("メモリの確保に失敗しました"); }
回答4件
あなたの回答
tips
プレビュー
投稿2019/09/26 04:36
C言語のif文において
if(!NULL)とするとif文の中が必ず実行され、if(NULL)とすると、if文の中が飛ばされますが、なぜこのような動作になるのでしょうか。
NULLはTRUEやFALSEのような意味合いを持つのですか…?
例えば下記のようなプログラムでもNULLかどうかが判定条件に使われているように思います。
if (!(p = (int*)malloc(s))) { printf("メモリの確保に失敗しました"); }
回答4件
あなたの回答
tips
プレビュー