C言語で書かれたコードをコンパイルすると、次の警告が表示され、正常にコンパイルできます
警告:関数の暗黙の宣言
この警告を無視するとどうなりますか?
この警告を無視するとどうなりますか?
それは状況次第です。暗黙的に宣言された関数が、リンクするライブラリのいずれにも定義されていない場合、単純にリンク エラーが発生します。
それが定義されていて、その定義が暗黙の宣言と一致する場合 (つまり、戻り値の型がint
で、同じ数の引数を取り (varargs は許可されません)、すべてのパラメーターの型がint
である)、プログラムは意図したとおりに実行されます。ただし、関数を暗黙的に宣言するのは依然として非常に悪いスタイルです。
異なる署名で定義されている場合、未定義の動作が発生します。これにより、誤った結果、メモリの破損、および/またはクラッシュが発生する可能性があります。