解説
関数の引数の参照渡しは、仕組みを知らないとバグの温床になる部分です。参照が入っている変数を引数に取る際、参照渡しとなります。
参照渡しの際、関数の引数を通して値を書き換えると、関数の呼び出し元でも値が書き変わります。関数に渡されているのは参照であって、中身がコピーされているわけではありません。プログラムを書き始めた頃は、よく勘違いしてしまうので注意が必要になります。
また、参照渡しを利用して、配列などの引数の中身を直接書き換えるようなことも行われます。仕組みを把握して、上手く活用してください。
サンプル
参照渡しの処理を、JavaScriptで簡単に書いてみます。
<html>
<head>
<title>「参照渡し」のサンプル</title>
</head>
<body>
<pre><script type="text/javascript">
// 配列1を作成して出力
var arr1 = [0, 1, 2, 3, 4, 5];
document.writeln("arr1 : " + arr1.toString());
ref(arr1)
document.writeln("arr1 : " + arr1.toString());
// 参照渡しで中身を書き換え
function ref(arg) {
arg[1] = 10;
arg[2] = 20;
}
</script></pre>
</body>
</html>
arr1 : 0,1,2,3,4,5 arr1 : 0,10,20,3,4,5
この記事は参考になりましたか?
既に会員の方はを行ってください。
- マンガで分かるプログラミング用語辞典連載記事一覧
- この記事の著者
-
柳井 政和(ヤナイ マサカズ)
クロノス・クラウン合同会社 代表社員http://crocro.com/オンラインソフトを多数公開。プログラムを書いたり、ゲームを作ったり、記事を執筆したり、マンガを描いたり、小説を書いたりしています。「めもりーくりーなー」でオンラインソフト大賞に入賞。最近は、小説家デビューして小説も書いています(『裏切りのプログラム』他)。面白いことなら何でもOKのさすらいの企画屋です。
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア
