• ベストアンサー

C言語 一般的な引数の名称について

C言語での引数の名称について質問です。 一般的に 引数の数は"argc"とか"ac" 引数自体は引数名へのポインタを格納する配列名として"argv"とか"av"にしますよね。 arg : argument c : count v : vector だと思うのですが、なぜ突然ベクタといった名称が使われるのでしょうか? ベクトル計算に配列を使うからという意味でしょうか? そういえばexecファミリでも同じように"v"が利用されていますね。 execv:execute vector 追加で質問なのですが execlというのもあります。 execl:execute list でしょうか?? ベクトル、リストといった名称がどこからきたのか直感的に分からず気持ち悪さを覚えています。 もしお分かりの方がいらっしゃいましたら教えてください。

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

  • ベストアンサー
  • MrBan
  • ベストアンサー率53% (331/615)
回答No.1

> c : count > v : vector 慣習的に使っていたこともあり確かな語源は知りません。 cはたぶんcountだと思いますが、vは説明によりvaluesだったりも…。 少なくとも仕様書自体には単にargvとしか書かれていません。 仮にvectorであったとしても、vectorという用語にone-dimensional arrayの意味もあるので、 ここではベクトル計算とは直接関係ないのでは。 リストの方は、一般に「何かが並んでいること」をそう表現します。 引数の並びはargument listと表現されますし、 C言語の仕様書でも引数はcomma-separated listなどで説明されます。 ISO/IEC9899 > expression in the comma-separated list bounded by the parentheses in a function call > expression, or a sequence of preprocessing tokens in the comma-separated list bounded > by the parentheses in a function-like macro invocation

skip_jack
質問者

お礼

vector自体に一次元配列という意味があるんですね。 あとvaluesというのも直感的に分かりやすく納得できました。 慣習的なものなので正解はないかもしれませんがすっきりしました。 リストに関しても丁寧にお答えいただきました。 たいへん感謝しています。 ありがとうございました。

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.3

K&R(2nd ed.)に以下の世湯女記述があります。 When main is called, it is called with two arguments. The first (conventionally called argc, for argument count) is the number of command-line arguments the program was invoked with; the second (argv, for argument vector) is a pointer to an array of character string that contain the arguments, one per string. 日本語版でどう訳されているのかは知りません。

skip_jack
質問者

お礼

K&Rに記述されているようでしたら、やはりcoutとvectorで良さそうですね。 ご解答ありがとうございました。

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

#1 の通り, 単純に「1次元配列をベクトルと呼んでいる」だけだと思います. argv とか execv とかの名前を付けたときに「ベクトル計算」という概念があったんだろうかという疑問もありますが.

skip_jack
質問者

お礼

ベクトルをするための計算で?? のように思ってしまい混乱していましたが、素直に1次元配列だと考えると納得できます。 ご解答ありがとうございました。

関連するQ&A