Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

BYVALUE および BYADDR の使用

引数に BYVALUE が渡されない限り、引数の値は別として、引数への参照は、一般的にサブルーチンか関数に渡されます。 これは、参照または BYADDR によって引数を渡すことによって認識されます。 プロシージャー内のパラメーターへの参照は、対応する引数への参照になります。 パラメーターの値への変更は、実際には、対応する引数の値への変更になります。 ただし、これは常に可能ではなく、好ましいものではありません。 例えば、定数は呼び出されたプロシージャーによって 変更されるべきではありません。 変更すべきではない引数には、 元の引数の値を含む仮引数 が渡されます。 パラメーターへの参照は、仮引数への参照であり、元の引数に対するものではありません。

BYADDR を指定すると、コンパイラーによって、パラメーター・リストに対応する 引数のアドレスが書き込まれます。BYVALUE を指定すると、パラメーター・リストに 引数の値が書き込まれます。

BYVALUE を指定すると、仮引数は作成されません が、呼び出された ルーチンで対応するパラメーターに行われたすべての変更は、呼び出しルーチンでは 不可視になります。これは、仮引数の場合も同様です。

BYVALUE は、コンパイル時に既知の長さとサイズを持つスカラー引数および スカラー・パラメーターに対してのみ指定できます。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)