• ベストアンサー

c言語

(c++ではなくC89準拠) c言語について質問 (1) 関数名()と関数名(void)は違う意味 (2) mainの引数の型は(void)か(int argc, char *argv[]) (3) K&Rは標準c準拠でmain()という表記があります ということは、(1)の関数名とはmain以外の関数名で、 main()とmain(void)は同じなんでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.2

> ということは、(1)の関数名とはmain以外の関数名で、 main()とmain(void)は同じなんでしょうか。 関数定義の際の関数宣言で括弧内が空の場合は、「引き数無し」を意味します。つまりvoidのみを書いたのと同じです。 関数定義の際でない関数宣言(ヘッダファイルでの宣言など)では、括弧内が空の場合は「引数についての情報無し」を意味するのでvoidのみの「引数無し」とは異なります。

sewapec995
質問者

お礼

回答ありがとうございます。

その他の回答 (1)

  • wormhole
  • ベストアンサー率28% (1626/5665)
回答No.1

>main()とmain(void)は同じなんでしょうか。 違います。 C89の話とK&Rの話をごっちゃ混ぜにしようとするから、そんな変な解釈になってるだけです。

sewapec995
質問者

お礼

回答ありがとうございました

sewapec995
質問者

補足

K&R第2版でmain()となっている箇所はmain(void)と本来は書かなければ標準Cに準拠していないという解釈でよいでしょうか

関連するQ&A

専門家に質問してみよう