0

最近興味深いコードを読みましたが、その意味を特定できません。

void foo(arg1, arg2)
int arg1;
unsigned char arg2[16];
{
    //some code
}

関数の引数の宣言と定義として、C言語でそのようなものを見たことがありません。私は2003年からソフトウェアを開発していますが、それは古いものか真新しいもののようなものです。どのような関数定義スタイルですか? 私が覚えているように、Pascal ではそのように引数を宣言できましたが、C ではできませんでした。

アンドリュー

4

2 に答える 2

2

これは次のようになります。

 void foo(int arg1, unsigned char arg2[16]) 
 {

とても古いスタイルです。

于 2013-03-28T08:24:00.383 に答える
2

これは、K&R1 (Kernighan と Ritchie による「The C Programming Language」のオリジナル版) に示されているように、元の ANSI 以前の C です。いわゆる「原始」または ANSI 以前の C コンパイラは、この構文を使用していました。一部の最新のコンパイラは、そのように呼び出すことができます。コマンドラインオプションを使用してこのタイプのコードを受け入れること。

それ以来、C は長い道のりを歩んできましたが、古いプログラムではまだ C に遭遇することがあります。

于 2013-03-28T08:28:22.983 に答える