- ベストアンサー
c言語
(c++ではなくC89準拠) c言語について質問 (1) 関数名()と関数名(void)は違う意味 (2) mainの引数の型は(void)か(int argc, char *argv[]) (3) K&Rは標準c準拠でmain()という表記があります ということは、(1)の関数名とはmain以外の関数名で、 main()とmain(void)は同じなんでしょうか。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> ということは、(1)の関数名とはmain以外の関数名で、 main()とmain(void)は同じなんでしょうか。 関数定義の際の関数宣言で括弧内が空の場合は、「引き数無し」を意味します。つまりvoidのみを書いたのと同じです。 関数定義の際でない関数宣言(ヘッダファイルでの宣言など)では、括弧内が空の場合は「引数についての情報無し」を意味するのでvoidのみの「引数無し」とは異なります。
その他の回答 (1)
- wormhole
- ベストアンサー率28% (1626/5665)
回答No.1
>main()とmain(void)は同じなんでしょうか。 違います。 C89の話とK&Rの話をごっちゃ混ぜにしようとするから、そんな変な解釈になってるだけです。
質問者
お礼
回答ありがとうございました
質問者
補足
K&R第2版でmain()となっている箇所はmain(void)と本来は書かなければ標準Cに準拠していないという解釈でよいでしょうか
お礼
回答ありがとうございます。