C言語関係掲示板

過去ログ

No784 配列を参照渡しにするメリットとデメリット

[戻る] [ホームページ]
No.9744

課題なんです
投稿者---トト(2003/10/13 23:39:02)


学校の課題なんですがここだけわからないんで誰かお願いします。
C言語では配列を関数の引数として渡すときは参照渡しのみで
値渡しは出来ないようになっている。
配列を値渡しではなく参照渡しにするメリットとデメリットについて述べよ。


No.9745

Re:課題なんです
投稿者---たか(2003/10/13 23:48:58)


>学校の課題なんですがここだけわからないんで誰かお願いします。
>C言語では配列を関数の引数として渡すときは参照渡しのみで
>値渡しは出来ないようになっている。
>配列を値渡しではなく参照渡しにするメリットとデメリットについて述べよ。

メリット:配列をコピーせず先頭アドレスだけ渡せばよいので速度が
     速い。
デメリット:呼ばれた関数内で配列の値を変更するとその関数が終了
      したら呼んだ方の関数でも配列の値が変更されたままに
      なっている。その事を知っていないと思わぬバグの原因
      になりやすい。


No.9746

Re:課題なんです
投稿者---たか(2003/10/13 23:50:46)


メリットもう一つ追加。
配列をコピーしないのでもしコピーする際にスタック領域を使うと
すれば、その分スタック領域の無駄遣いが防げる。

No.9750

やっと解決
投稿者---トト(2003/10/14 00:17:50)


これでなんとか終わりそうです。
ありがとうございます。。