1. ホーム
  2. c

[解決済み] "int main (vooid)"? どのように動作するのですか?

2022-06-14 23:01:51

質問

最近、小さなCのテストプログラムを入力することになったのですが、その過程で、主関数の中で、誤って vooid の代わりに void .

それでもまだ動いた。

それを最小の完全なバージョンに落とし込むと、こうなりました。

int main (vooid) {
    return 42;
}

これは 確かに をコンパイルします ( gcc -Wall -o myprog myprog.c ) をコンパイルし、実行すると 42 を返します。

これは具体的にどのように有効なコードなのでしょうか?


以下は、私の bash シェルからカットして貼り付けたものです。

pax$ cat qq.c
int main (vooid) {
    return 42;
}

pax$ rm qq ; gcc -Wall -o qq qq.c ; ./qq

pax$ echo $?
42

どのように解決するのですか?

これは、単に古いスタイルの関数宣言の構文を使っているだけです。 int というパラメータを暗黙のうちに宣言しています。 vooid .