サブルーチン引数受渡し方式と値呼出し(Call by Value)の不変性保証
サブルーチンへの引数の受渡し方式のうち、 値呼出し(Call by Value) は、呼出し元の実引数の「値のコピー」を作成してサブルーチンの仮引数に渡す方式です。サブルーチン内部で仮引数の値をいくら書き換えても、呼出し元が持つ実引数変数の実体メモリ領域には一切影響が及ばないため、 サブルーチン実行後に呼出し元の変数値が変更されないことが完全に保証されます 。したがって、正解は ア です。 イ: 結果呼出し(Call by Result)は、サブルーチン終了時に仮引数の最終値を呼出し元の実引数変数に書き戻す方式であるため、値が変更されます。 ウ: 参照呼出し(Call by Reference)は、実引数のメモリアドレスを渡して同一のメモリ実体を直接操作する方式であるため、サブルーチン内での変更が呼出し元にそのまま反映されます。 エ: 名前呼出し(Call by Name)は、仮引数の出現箇所を実引数のテキスト表現で置き換えて評価する方式(マクロ展開に近い動作)であり、変数値が変更される可能性があります。
サブルーチンへの引数の受渡し方のうち,引数として渡した変数の値が,サブルーチンの実行後に変更されないことが保証されているものはどれか。
出典
平成31年度 春期 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問24
ア
値呼出し
イ
結果呼出し
ウ
参照呼出し
エ
名前呼出し
前の問題
スキップ
【正解・解説】サブルーチン引数受渡し方式と値呼出し(Call by Value)の不変性保証|平成31春 エンベデッドシステムスペシャリスト試験 午前Ⅱ 問24 | IT資格ラボ