ホームページ > バックエンド開発 > C++ > 「const int」と「int const」: C と C の違いは何ですか?

「const int」と「int const」: C と C の違いは何ですか?

DDD
リリース: 2024-10-28 13:50:30
オリジナル
706 人が閲覧しました

C と C の関数パラメーター: 'const int' と 'int const'

C と C の 2 つの類似した関数パラメーター宣言'const int' と 'int const' です。これらは同一に見えるかもしれませんが、この 2 つは微妙な違いがあります。

C での Const 宣言

C では、'const int' の宣言は、パラメータとして渡される変数は定数です。つまり、その値は関数内で変更できません。ただし、このパラメータに引数として渡される値は、定数または変数にすることができます。

例:

<code class="c">int testfunc1 (const int a)
{
  // a is constant within the function, but the argument can be variable.
}</code>
ログイン後にコピー

の Const 宣言C

C では、 'int const' は C と同じ規則に従いますが、 'const int' には追加の解釈があります。また、変数が定数値で初期化され、関数内で変更できないことも意味します。

例:

<code class="cpp">int testfunc2(int const a)
{
  // Both a and the argument must be constants.
}</code>
ログイン後にコピー

の読み取りトリック宣言

違いをよりよく理解するには、宣言を逆から読むと便利です。

  • 'const int' は、「a は定数である整数」と読み取られます。
  • 'int const' は「a は定数の整数」と読み取られます

含意

両方の宣言は、渡された値を次の値にすることができないことを示します関数内で変更されます。ただし、C の初期化要件 ('const int') により、追加の制約が追加されます。

例:

<code class="cpp">const char *s;      // s is a pointer to a char that is constant
char *const t = &c; // t is a constant pointer to a char</code>
ログイン後にコピー

この場合、' の値はs' は (ポインターであるため) 変更できますが、't' の値は変更できません。

以上が「const int」と「int const」: C と C の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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