• ベストアンサー

関数の引数の書き方。

AとBのどちらの書き方でもよいのですか? 私が読んだ本(やさしいC)には、 Aパターンのみだったような? Aパターン ------------------ void main(int argc,char *argv[]) { int i; ・・・・ } Bパターン ------------------ void main(argc, argv) int argc; char *argv[]; { int i; ・・・・ } http://ash.jp/db/ora_c.htm

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

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

No1の補足でご自身かお書きの通り、ANSIやISOでの標準化前の書式です。 http://ja.wikipedia.org/wiki/C%E8%A8%80%E8%AA%9E#C.E3.81.AE.E8.A6.8F.E6.A0.BC の記述の、「K&R」というのがこの書式です。 ANSI規格化以前は、Cの規格というのが存在しなかったので、「そのときUnixで使われていたCの文法」が事実上の規格でした。世界最初のCについての一般書籍である「The C Programming Language」の著者のカーニハンとリッチの頭文字が K&R で、この本が事実上の規格書でした。第二版はANSI規格のものになっているので、第一版を見る必要があります。訳本だと、 http://www.amazon.co.jp/dp/4320021452

その他の回答 (4)

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

>ansi?とかで標準化される前に使っていた書き方でしょうか? ANSI Cで標準化される前というか普及するまでじゃないでしょうか。 今でも使われてることはあるかもしれませんけど。 >ちらほら見かけるので、気持ち悪いです。 過去に書かれたソースやドキュメントもありますし仕方ないかも。

javaeg
質問者

お礼

もやもやが、解けました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

「ちょ~昔」 (K&R の初版の時代, 当然 ANSI 標準化以前) は B の書き方しかできませんでしたが, 今では A の書き方をすべきです... というか, B のような書き方をしなければならない事情がないと言っていいでしょう.

javaeg
質問者

お礼

もやもやが、解けました。

回答No.2

提示されたURLを見ると,「Pro*C」というプリコンパイラだと出ていますね. そのままC言語と比較してもしょうがないと思います. ちなみに,mainの書き方は,仕様上, 「Aパターンだけ」というわけではないはずです.

javaeg
質問者

補足

ご回答ありがとうございます。 以下のページにもあります。 pro*cではありません。 http://otndnld.oracle.co.jp/document/products/E13161_01/tuxedo/docs10gr3/pgc/pgclt.html 私が、みた本でそう書いて有った様なということです。 仕様上、Aパターンのみとは、思っていません。

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

Bパターンはすでに過去のものです。Aパターンで書きましょう。 ついでにmain()関数の型はintですよ。

javaeg
質問者

お礼

もやもやが、解けました。

javaeg
質問者

補足

ごかいとうありがとうございます。 >Bパターンはすでに過去のもの ansi?とかで標準化される前に使っていた書き方でしょうか? ちらほら見かけるので、気持ち悪いです。 検索してもその辺の経緯というか、見つけられません。 気持ち悪いのです。 参考になるページなどあれば、すっきりします。