- ベストアンサー
関数での配列の扱いかたについて教えてください
http://www.rs.kagu.sut.ac.jp/~infoserv/j-siken/H17a2/pm10.html この問題の10行目の void make_fare_table(int num, double *dist_list, COSTUNIT *cost_list, int **fare_table ) { の * dist_list ところなんですが、関数で配列を受け取るとき 文字列の場合は *dist_list ですが、 この問題の場合 dist_listは距離の配列、つまり数値の配列だから、dist_list[]で受け取るのだと思うのですが *dist_listとなっているのは、なぜでしょうか?
- yuyakiyo
- お礼率58% (14/24)
- C・C++・C#
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
まず、 > 関数で配列を受け取るとき 文字列の場合は *dist_list ですが、 というのが勘違いのもとです。 配列を関数で受ける場合には、 型 *list でも、型 list[] でも、いずれでもOK です。ついでにいえば、同じように使えます。 char list[] で受けても、問題はありません。 配列は関数の引数として渡された場合、配列の先頭を指すポインタに変換されますので、 型 *list の方がよさそうではありますが。
その他の回答 (1)
- rigidbody
- ベストアンサー率60% (20/33)
>*dist_listとなっているのは、なぜでしょうか? その人の流儀だからです。だから気にする必要は無いです。どちらの表現でも同じように翻訳されるからです。 が、私ならdist_list[]を採ります。そちらの方が文書性が高いと思うからです。 *表現では、単一変数へのポインタなのか 配列の先頭を渡しているのかを即座に推測出来ません。が、[]なら後者であろう事がすぐに分かります。 両表現のコストが同じなら、少しでも儲けの大きい方を採った方がお得感があるでしょう。だから後者を使いますねぇ。
お礼
解答ありがとうございます。 今回は早いもの順でポイントをつけさせていただきました。すいません。丁寧に答えていただきありがとうございます。
関連するQ&A
- 平成17年度春の午後問題について教えてください
ttp://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H17a2/pm06.html の問題なのですが、空欄dが分かりません。 char_listはvoid print_string 関数内でアドレスで 受け取り、int word_width 関数でもアドレスで受け取っていると思うのですが、違うのでしょうか?
- ベストアンサー
- 情報処理技術者
- 平成14年秋 問10 四角形 C言語
http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H14b2/pm10.html 手がかりはどのように 求めればいいのでしょうか? 手が届かないです
- ベストアンサー
- 情報処理技術者
- 初期化について教えてください
http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H13b2/pm10.html この問題のプログラムでコードの初期化の方法が分からないので教えてください 例えば、配列 M[0][1]をROADとするにはどうしたらいいのでしょうか? M[0][1] = ROAD; としたとしても、M[0][1] は入り口(ENTRANCE)の役割もあるので、上みたいにそのまま代入しても上手くいかないのですが、どうやっていいのか分かりません。 お願いします。
- ベストアンサー
- C・C++・C#
- 基本情報について
このサイトの問4の3設問ができなくて困っています。わかるかたご教授よろしくお願いします。 http://www.rs.kagu.sut.ac.jp/~infoserv/j-siken/H11a2/pm03.html
- ベストアンサー
- その他([技術者向] コンピューター)
- トランザクション処理性能の問題
このサーバの TPS の上限値は” ”の表現で 上限値は何を意味するのでしょうか? どなたか 解説を? http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H13b2/pm03.html
- ベストアンサー
- 情報処理技術者
- Borland C++ Compilerで画像を扱うには
基本情報技術者検定の問題でhttp://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H9a2/pm07.html のプログラムをBorland C++ Compilerで作りたいのですが、画像が扱えないみたいなので調べてみたところ http://www.boutell.com/gd/のライブラリがあれば 画像が扱えるとどこかで見たのですが、これって Borland C++ Compilerにも使えるのでしょうか?
- ベストアンサー
- C・C++・C#
- 文字列の入力について
http://www.rs.kagu.tus.ac.jp/infoserv/j-siken/H11b2/pm11.html このプログラムを完成させたいのですが、 例えば、「abc dfg hij ・・・」とscanfで文字列入力した場合、空白以降(スペース)が読み取れません。 (「abc」しか読み取れません) スペース以降の文字列もキーボード入力できるようにするにはどうしたらいいのでしょうか?
- ベストアンサー
- C・C++・C#
- CASLII(基本情報)の過去問がわかりません!
現在、基本情報技術者試験突破のため、CASLIIの過去問を解いているのですが、理解できなくて困ってます。 平成13年春期の問8です。 http://www.rs.kagu.sut.ac.jp/~infoserv/j-siken/H13a2/pm08.html 特に6行目のシフト演算命令以降が何をしてるのかがさっぱりです。。。 教えて頂けると嬉しいです・・・ お願いします!!
- 締切済み
- その他([技術者向] コンピューター)
お礼
すばやい解答ありがとうございました。 ようやく理解できることができました。