応用情報暗記無料で始める

引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)とは?ひきすうのうけわたし

引数の受渡し(値呼出し・参照呼出し・結果呼出し・名前呼出し)とは、呼出し側の実引数を副プログラムの仮引数へ対応づける方式の分類。値呼出しは値の複製を渡すので呼出し側の変数は変わらず、参照呼出しはアドレスを渡すため実行中から書換えが及ぶ。結果呼出しは複製で作業して終了時に書き戻し、名前呼出しは式そのものを渡して参照のたびに評価し直す。

最終更新:2026-10-06

試験情報

応用情報技術者試験の過去問では1回出題されています。

応用情報技術者試験の頻出用語/テクノロジ系

別名:call by value、call by reference、パラメータ渡し、引数の受渡し、値呼出し・参照呼出し・結果呼出し・名前呼出し、値呼出し、参照呼出し、結果呼出し、名前呼出し

この語が出る過去問を解く →

背景

処理を副プログラムへ切り出す狙いは、呼出し側が中身を気にせず使えるようにすることである。ところが渡し方によっては、呼び出した結果として自分の変数が書き換わる副作用が生じ、その前提が崩れる。どの方式かを言語仕様として明示するのは、呼出し側が「渡した変数は無事か」を判断できるようにするためで、科目Aではその判断そのものが問われる。

具体例

C言語は値呼出ししか持たないため、呼出し側の変数を書き換えたいときはアドレスを値として渡す(ポインタ渡し)。C++やC#は参照呼出しを構文として備えており、大きな構造体を複製せずに渡しつつ書換えは禁じたい場合に const や in を付ける、という使い分けをする。

試験での引っ掛け

実行後に呼出し側の変数が変わらないと保証できるのは値呼出しだけである。結果呼出しは終了時に書き戻り、参照呼出しは実行中から変わり、名前呼出しは評価のたびに副作用が及びうる。「参照渡しは複製しないから速くて安全」という、速度と安全性を混ぜた説明も定番の誤りになる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 試験では1回出題
  • 分野:テクノロジ系
  • 実行後に呼出し側の変数が変わらないと保証できるのは値呼出しだけである。