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