3

重複の可能性:
Cにはいくつのスタイルの記述関数がありますか?

私は次の定義でCで書かれたプログラムを見ましたmain

main(ac, av) int ac; char **av;
{
    ...
}

それ以外の

int main(int argc, char **argc)
{
    ...
}

最初のコードのようにC構文を見たことがありません。それは何ですか、どこで読むことができますか?

4

1 に答える 1

7

1つ目は、関数プロトタイプがコードを記述する一般的/標準的な方法になる前の、古いスタイルのANSI以前のC関数ヘッダーです。

頻繁に次のようにフォーマットされます:

main(ac, av) 
int ac; 
char **av;
{
    ...
}

括弧の最初のセットの後に表示されるのは、のパラメーターの型宣言ですmainintまた、戻り型は宣言されていないことに注意してください。

誰もそのようなコードを実際に書くことはありません。2番目の形式に固執してください。

KernighanとRitchie(第1版、ANSI以前)による元のホワイトブックを掘り下げることができれば、他の古いものと同じように、そのフォームが表示されます(@dirkgentlyが正しく言及しているため、これはK&RスタイルCと呼ばれることもあります)。 C本。

また、廃止された形式の関数宣言と定義に興味がある場合は、このリンクを確認してください 。グーグルで「古いスタイルのC関数宣言」を検索すると、多くのヒットが発生します。

于 2012-06-03T13:05:30.883 に答える