引数は,POINTER 属性として宣言されている場合,ポインタとなります。
手続が呼び出されると,仮引数ポインタは,実引数のポインタ結合状態を受け取ります。実引数がその時点で結合されている場合,仮引数は同じ指示先に結合されます。
仮引数のポインタ結合状態は,手続の実行中に変化することがあり,このような変更は実引数に反映されます。
仮引数と実引数の両方がポインタである場合,明示的インタフェースが必要となります。
ポインタである仮引数は,ポインタである実引数にしか結合されません。ただし,ポインタである実引数は,ポインタではない仮引数に結合することができます。この場合,実引数は指示先に結合され,引数結合を通じて,仮引数もその指示先に結合されます。
仮引数が TARGET または POINTER 属性を持たない場合,手続が呼び出された時,実引数に結合されたポインタは対応する仮引数に結合されません。
仮引数が TARGET 属性を持ち,スカラまたは形状引継ぎ配列のどちらかで,対応する実引数が TARGET 属性を持つが,ベクトル添え字を持つ部分配列ではない場合,以下が発生します。
実引数に結合されたポインタは,手続が呼び出された時,対応する仮引数に結合されます。
仮引数に結合されたポインタは,手続の実行が完了した時,実引数に結合されたままになります。
仮引数が TARGET 属性を持ち,形状明示配列または大きさ引継ぎ配列のどちらかで,対応する実引数が TARGET 属性を持つが,ベクトル添え字を持つ部分配列ではない場合,手続が呼び出された時または実行が完了した時,実引数と対応する仮引数の結合はプロセッサーに依存します。
仮引数が TARGET 属性を持ち,対応する実引数がその属性を持たないか,ベクトル添え字を持つ部分配列である場合,仮引数に結合されたポインタは,手続の実行が完了した時点で不定になります。
関連情報