資格暗記無料で始める

引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)とは?

引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)とは、呼出し側の実引数を、サブルーチンの仮引数へどう対応づけるかの方式。値呼出しは実引数の値を複製して渡すので、内部で仮引数を書き換えても呼出し側の変数は変わらない。参照呼出しは変数の位置(アドレス)を渡すため、内部の代入がそのまま呼出し側に及ぶ。結果呼出しは内部では作業用の複製を使い、終了時に呼出し側へ書き戻す。名前呼出しは実引数の式そのものを渡し、使うたびに評価するので、式に含まれる変数の値によって結果が変わりうる。

システムアーキテクト試験の過去問では2回出題されています(2021年度〜2025年度)。

ひきすうのうけわたし

システムアーキテクト試験の頻出用語/午前II/別名:call by value、call by reference、パラメータ渡し、引数の受渡し、値呼出し・参照呼出し・結果呼出し・名前呼出し、値呼出し、参照呼出し、結果呼出し、名前呼出し


引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)の意味

呼出し側の実引数を、サブルーチンの仮引数へどう対応づけるかの方式。値呼出しは実引数の値を複製して渡すので、内部で仮引数を書き換えても呼出し側の変数は変わらない。参照呼出しは変数の位置(アドレス)を渡すため、内部の代入がそのまま呼出し側に及ぶ。結果呼出しは内部では作業用の複製を使い、終了時に呼出し側へ書き戻す。名前呼出しは実引数の式そのものを渡し、使うたびに評価するので、式に含まれる変数の値によって結果が変わりうる。

引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)の具体例

大きな構造体を値呼出しで渡すと複製の時間と記憶容量を食うため、実務では「参照で渡して変更禁止の指定を付ける」形が使われる。逆に、呼出し側の変数を関数の中で更新したい場合は参照呼出し(またはポインタ渡し)を選ぶ。

引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)は試験でどう引っ掛けられる?

「渡した変数の値が実行後に変更されないことが保証される」のは値呼出しだけである。結果呼出しは終了時に書き戻すので変わり、参照呼出しは実行中から変わり、名前呼出しも評価のたびに副作用が及びうる。「参照渡しは速いから安全」という速度と安全性の混同も定番である。

引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)と関連する用語

引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)が出た過去問

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