>>592
C99対応のコンパイラなら堂々とint main(void)を使っても良い。

仮引数のvoidはその関数が引数を取らないことを表す。
プロトタイプ宣言時に仮引数が空()のときには引数の情報がないことを表す。(つまり適当に引数を与えてその関数を呼べる)
ただ規格を見ると関数定義時に仮引数が空()のときは(void)と同じ扱いと読める。