5
int func(x)
int x;
{
    .............

この種の宣言は何と呼ばれますか?

C または C++、特定の標準リビジョン、およびコンパイラを含めて、有効/無効になるのはいつですか?

4

5 に答える 5

12

これは K&R C パラメーター宣言構文であり、ANSI C では有効ですが、C++ では有効ではありません。

于 2009-07-20T01:34:17.797 に答える
5

これはまだ有効ですが、ANSI より前です。実際、K&R インデント スタイルの名前の由来はそこにあります。これは奇妙に見えるため、開始ブラケットは関数ブロックの後の行にあります。

int func(x)
int x; {
...
}

とにかく、このスタイルは関数プロトタイプに問題があるためお勧めしません。

于 2009-07-20T02:24:09.363 に答える
4

K&R スタイルであり、落胆はしますが、今でも有効だと思います。おそらくFortranから来ました(関数パラメータの型は、最近のF95でも関数本体内で定義されています)

于 2009-07-20T01:32:02.903 に答える
4

それは古いスタイルの C です。もうめったに見られなくなりました。

于 2009-07-20T01:32:20.327 に答える
-8

関数のプロトタイプです。このようにしないと、関数を main の前に完全に書き出す必要があります。そうしないと、main で関数を使用したときにコンパイラがその関数を認識できません。あまり説明的ではないので、もう使用されていません。次のようなものを使用したいでしょう:

int someFunction(int someParamX int someParamY);
于 2009-07-20T02:11:22.837 に答える