テスト中でわからないので教えてください・・・

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ぽせ

テスト中でわからないので教えてください・・・

#1

投稿記事 by ぽせ » 9年前

main関数の第1仮引数がargc、第2仮引数がargvであるソースプログラムをコンパイルして得られる実行プログラムをprogとするとき、Linuxのコマンドラインにおいて、progに続いて10個の文字列を指定し、このプログラムを実行すると、argcが受け取る値は(1)である。その一方で、argvはヨ要素型が(2)へのポインタ型であるポインタ配列の先頭要素を指す。このとき、argv[0]は、文字(3)が格納されている(4)バイトの領域を指す。


(1)~(4)お願いします。

アバター
softya(ソフト屋)
副管理人
記事: 11677
登録日時: 9年前
住所: 東海地方
連絡を取る:

Re: テスト中でわからないので教えてください・・・

#2

投稿記事 by softya(ソフト屋) » 9年前

同じ方ですか?
http://dixq.net/forum/viewtopic.php?f=3&t=7762
カンニングであれば大学側に通知させていただきますが。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。

アバター
Dixq (管理人)
管理人
記事: 1661
登録日時: 9年前
住所: 北海道札幌市
連絡を取る:

Re: テスト中でわからないので教えてください・・・

#3

投稿記事 by Dixq (管理人) » 9年前

以前もテストがあるから答えてくれる人募集するというトピックが立って騒ぎになったことがありますね^^;

テスト中にネットが使えるのですか・・時代も変わりましたね。なんというハイテク(?)

ところで、このような形の質問は規約違反になってしまいます。
掲示板を利用する時は上にある規約をよく読んで守って利用して下さいね。

ではもう回答の必要は無くなってしまったのかもしれませんが、
もし興味があれば終わってからでも取り組んでみませんか?

とりあえず、メイン関数の引数はvoidか、書かれた引数か、2通りあります。
argvがちょっとややこしいので混乱するかもしれませんが、配列のポインタ、つまり二次元配列のようになっています。
ですから、実行ファイルを実行する時に与える引数の文字列が

文字列1
文字列2
文字列3
・・・

と沢山格納することが出来るのです。
argcにはその引数の数が入っています。
ということで、argvには配列とポインタの知識が不可欠ですが、配列やポインタの理解は大丈夫ですか?
もし調べたければ「argc argv」でググるだけで参考になるサイトが沢山でてきるので参考にして下さい。

閉鎖

“C言語何でも質問掲示板” へ戻る