資格暗記無料で始める

引数の渡し方(値呼出しと参照呼出し)とは?

引数の渡し方(値呼出しと参照呼出し)とは、値呼出し(call by value)は実引数の値の複製を渡すため、呼び出された側での変更が呼び出し元に波及しない。参照呼出し(call by reference)は変数そのものへの参照を渡すため、変更が呼び出し元に反映される。ほかに名前呼出し・結果呼出しがあり、副作用の有無を判断させる問題が出る。

ひきすうのわたしかたあたいよびだしとさんしょうよびだし

応用情報技術者試験の頻出用語/テクノロジ系/別名:引数の渡し方、値呼出しと参照呼出し


引数の渡し方(値呼出しと参照呼出し)の意味

値呼出し(call by value)は実引数の値の複製を渡すため、呼び出された側での変更が呼び出し元に波及しない。参照呼出し(call by reference)は変数そのものへの参照を渡すため、変更が呼び出し元に反映される。ほかに名前呼出し・結果呼出しがあり、副作用の有無を判断させる問題が出る。

引数の渡し方(値呼出しと参照呼出し)の具体例

大きな構造体を値渡しすると複製コストがかかるので、変更しない場合でも「変更不可の参照」で渡すのが実務の定石。多くの言語のオブジェクト引数は「参照の値渡し」で、フィールドの書き換えは呼び出し元に見えるが、引数変数自体への再代入は見えない。

引数の渡し方(値呼出しと参照呼出し)は試験でどう引っ掛けられる?

「オブジェクトを渡す=参照呼出し」ではない。参照の値渡しでは、関数内で obj = new ... としても呼び出し元の変数は元のオブジェクトを指したままになる。この違いが分かっていないと、追跡しにくいバグを生む。

引数の渡し方(値呼出しと参照呼出し)と関連する用語

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。