C では、 の戻り値をキャストしないことがベスト プラクティスであることを認識していますmalloc()
。malloc()
を含めない場合、コンパイラはそれが int を返すと想定していることを読みましたstdlib.h
。もちろん、int を int ではないものに暗黙的に代入しようとするとエラーが発生しますが、そのエラーは明示的なキャストによって隠蔽される可能性があります。したがって、明示的にキャストする危険性がありmalloc()
ます。
私が作成したすべての関数について、関数が存在しない場合、コンパイラはそのことを教えてくれます。malloc()
を含めていなくても、コンパイラがそれが int を返すと想定するのはなぜstdlib.h
ですか? malloc()
含めるまで未定義のままにするべきではありませんstdlib.h
か?