質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

7316閲覧

C言語: int argc, char *argv[]について

退会済みユーザー

退会済みユーザー

総合スコア0

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2016/05/23 08:45

C言語のプログラムを勉強中に、
int main()
{
処理;
}

ではなく,

int main(int argc, char *argv[])
{
処理;
}

のように、main関数に引数が指定されているプログラムを見つけました。
そこで疑問に思った事があるのですが、int argc, char *argv[]は何の略称で、何の意味があり、何の為に記述されているのですか?初歩的な質問ではありますが、返答よろしくお願いいたします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

argc、argvというのは慣例的に用いられるmain関数の引数の名前で、プログラムを起動したときのコマンドラインに指定した内容を表します。
argc: argument count、(起動パスを含む)パラメータの個数
argv: argument values、パラメータの内容
を意味します。
例えば、

chat.exe port:80 -F

と入力してプログラムを起動した場合、argcは3に、argv[0]は"chat.exe"、argv[1]は"port:80"、argv[2]は"-F"となります。

投稿2016/05/23 08:53

編集2016/05/23 08:58
majiponi

総合スコア1720

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/05/23 09:05

返答ありがとうございます! まだ完全に理解できてない部分はありますが、今後の勉強の参考にさせていただきます!
guest

0

Windowsで言えばDOSプロンプトなどを使ったことがないとちょっと馴染みがないと思いますが,たとえばフォルダ内のファイルの一覧を列挙するコマンドでDirなんてのがありますが,これはいろんなオプションを付けて動作を変化させることができるのです.

たとえば
Dir *.exe
なんてすると,拡張子がexeとなってるものを列挙してくれます.

このときargcは2が入り,argv[1]には*.exeが入ってきます.

*.exeがつかない時はargcは1,ですね.

1ならば全部表示する,2以上ならば何かオプションが付いているんだろう,と見分け,そのオプションは[1],[2]…と見ていくことができる,というわけです(いくつまで括弧があるか,っていうのはargcからわかるわけです).

こんな感じで同じプログラムだけど,オプションつけると機能が変化する,なんてときに使うものなので,exeのアイコンをダブルクリック,っていう環境だけだとちょっと馴染みがないかな?って思います.

投稿2016/05/23 15:03

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/05/23 16:02

そのような働きがあるのですね! DOSプロンプトについて勉強してみたいと思います! 返答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問