Unsigned 修飾子と Const 修飾子は C の main 関数の引数で使用できますか?
C 標準では、メイン関数の 2 つの有効な署名を明示的に定義しています。 function:
しかし、これらの署名は可能かという疑問が生じます。 unsigned や const?
分析:
C 98 標準では、main 関数はオーバーロードできず、整数 (int) を返さなければならないと規定されています。タイプ。引数での修飾子の使用については明示的には言及していませんが、実装で標準を超える追加の動作を定義することは許可されています。
結論:
標準によれば、次の署名は合法であり、準拠するコンパイラによって受け入れられる必要があります:
int main(const unsigned int, const char* const* argv);
これは、標準では戻り値の型が残っている限り、実装によって追加の署名を定義できるためです。 int.
追加情報:
C 標準では、前述の 2 つの署名が有効であると定義されていますが、実装でそれらをサポートする必要はないことに注意することが重要です。独立した環境では、起動と終了の動作は実装で定義されており、標準ではこれらの環境に対して動作の文書化以外の要件が免除されています。
以上がC の `main` 関数の引数を `unsigned` や `const` などの修飾子で変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。