基本情報技術者平成24年春期 午前問49

問49

サブルーチンへの引数の渡し方のうち,変数を引数として渡しても,サブルーチンの実行後に変数の値が変更されないことが保証されているものはどれか。
  • 値呼出し
  • 結果呼出し
  • 参照呼出し
  • 名前呼出し

分類

テクノロジ系 » アルゴリズムとプログラミング » プログラミング

正解

解説

プログラムのサブルーチン(関数)に値を渡す方法には参照呼出し値呼出し、および名前呼出しという3つの方法があります。
参照呼出し(pass by reference)
引数として変数のポインタ(メモリアドレス)を渡す方法。呼び出された関数内で引数の内容に直接アクセスすることになるため、変数の値を上書きすると元の変数の値にも反映される。
値呼出し(call by value)
引数に変数が保持する値のコピーを入れて渡す方法。渡された値は関数内でのみアクセスができ、関数内で値を保持する変数は新しいメモリ領域に作成されるため、上書きしても元の変数の値には反映されない。
名前呼出し(call by name)
引数として未評価の式(値)を渡す方法。関数の内部で必要となった場合に引数の式(値)が評価される。
値呼出しでは、関数内で変数を上書きしても引数はコピーであるため元の変数の値に影響することはありません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop