カウンタをアドレスに変更する

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

カウンタをアドレスに変更する

#1

投稿記事 by ほのか » 16年前

いつもお世話になっております。
ソースは添付ファイルにして失礼いたします。

課題担当の方に最初の処理区分の処理の部分等のiCntをポインタ?アドレス?にして処理をするようにと言われたのですが、カウンタをアドレスにする利点とかってあるのでしょうか??
どうしてアドレスに変更する必要があるのかよくわからないので…;

non

Re:カウンタをアドレスに変更する

#2

投稿記事 by non » 16年前

何のことかよくわかりませんが、
int henkou(Jusyoroku *data,int iCnt);
などを
void henko(Jusyoroku *data,int *iCnt);
で作成しろということではないでしょうか?

利点についてはわかりません。私は、最初の形で何も問題がないと思いますし、
たぶん、最初のように作ると思います。その方が、明確に値を変更していることが
わかりますし、間違いが少ないと思います。解析もしやすいし・・・
どちらがいいかは、プロの方に聞いた方がいいですね。

いずれにしろ、利点は課題担当の方に聞くべきではないでしょうか?そのための課題担当者なんでしょ。

ほのか

Re:カウンタをアドレスに変更する

#3

投稿記事 by ほのか » 16年前

回答ありがとうございます。
課題担当の方に聞いたのですが、応答がなかったため質問させていただきました;
明日また聞いてみようと思います;

たいちう

Re:カウンタをアドレスに変更する

#4

投稿記事 by たいちう » 16年前

> int henkou(Jusyoroku *data,int iCnt);
> void henko(Jusyoroku *data,int *iCnt);

前者はiCntを呼び出し元が管理するけれど、
後者はiCntの更新も含めて関数側におまかせしています。
どちらがベターとかいうことはなく、関数と関数を呼ぶ側の
役割分担を考えて、どちらがふさわしいか、という事でしょうかね。

大きな違いがあるわけでもないので、
気にしない人の方が多いのではないでしょうか。
この例ではどちらが良いかは判断できません。

初心者には自由に書き換えるのは少し難しいかもしれないので、
その為の課題なのかもしれません。確実に押さえておきたいところです。
あるいは次以降のステップで、出題者の意図が明らかになるのかもしれませんね。


閉鎖

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