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>
の読み取りトリック宣言
違いをよりよく理解するには、宣言を逆から読むと便利です。
含意
両方の宣言は、渡された値を次の値にすることができないことを示します関数内で変更されます。ただし、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 サイトの他の関連記事を参照してください。