- ベストアンサー
C言語 一般的な引数の名称について
C言語での引数の名称について質問です。 一般的に 引数の数は"argc"とか"ac" 引数自体は引数名へのポインタを格納する配列名として"argv"とか"av"にしますよね。 arg : argument c : count v : vector だと思うのですが、なぜ突然ベクタといった名称が使われるのでしょうか? ベクトル計算に配列を使うからという意味でしょうか? そういえばexecファミリでも同じように"v"が利用されていますね。 execv:execute vector 追加で質問なのですが execlというのもあります。 execl:execute list でしょうか?? ベクトル、リストといった名称がどこからきたのか直感的に分からず気持ち悪さを覚えています。 もしお分かりの方がいらっしゃいましたら教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 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
その他の回答 (2)
- sakusaker7
- ベストアンサー率62% (800/1280)
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. 日本語版でどう訳されているのかは知りません。
お礼
K&Rに記述されているようでしたら、やはりcoutとvectorで良さそうですね。 ご解答ありがとうございました。
- Tacosan
- ベストアンサー率23% (3656/15482)
#1 の通り, 単純に「1次元配列をベクトルと呼んでいる」だけだと思います. argv とか execv とかの名前を付けたときに「ベクトル計算」という概念があったんだろうかという疑問もありますが.
お礼
ベクトルをするための計算で?? のように思ってしまい混乱していましたが、素直に1次元配列だと考えると納得できます。 ご解答ありがとうございました。
お礼
vector自体に一次元配列という意味があるんですね。 あとvaluesというのも直感的に分かりやすく納得できました。 慣習的なものなので正解はないかもしれませんがすっきりしました。 リストに関しても丁寧にお答えいただきました。 たいへん感謝しています。 ありがとうございました。