ホームページ > バックエンド開発 > C++ > C の `main` 関数の引数を `unsigned` や `const` などの修飾子で変更できますか?

C の `main` 関数の引数を `unsigned` や `const` などの修飾子で変更できますか?

Barbara Streisand
リリース: 2024-10-28 17:13:29
オリジナル
801 人が閲覧しました

Can you modify the `main` function’s arguments with qualifiers like `unsigned` and `const` in C  ?

Unsigned 修飾子と Const 修飾子は C の main 関数の引数で使用できますか?

C 標準では、メイン関数の 2 つの有効な署名を明示的に定義しています。 function:

  • int main()
  • int main(int, char*[])

しかし、これらの署名は可能かという疑問が生じます。 unsigned や const?

分析:

C 98 標準では、main 関数はオーバーロードできず、整数 (int) を返さなければならないと規定されています。タイプ。引数での修飾子の使用については明示的には言及していませんが、実装で標準を超える追加の動作を定義することは許可されています。

結論:

標準によれば、次の署名は合法であり、準拠するコンパイラによって受け入れられる必要があります:

int main(const unsigned int, const char* const* argv);
ログイン後にコピー

これは、標準では戻り値の型が残っている限り、実装によって追加の署名を定義できるためです。 int.

追加情報:

C 標準では、前述の 2 つの署名が有効であると定義されていますが、実装でそれらをサポートする必要はないことに注意することが重要です。独立した環境では、起動と終了の動作は実装で定義されており、標準ではこれらの環境に対して動作の文書化以外の要件が免除されています。

以上がC の `main` 関数の引数を `unsigned` や `const` などの修飾子で変更できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート