Fortran 95/90 の配列ポインタと配列の渡し方は、その時点で有効な ATTRIBUTES プロパティと、渡し先のプロシージャの INTERFACE (存在する場合) の影響を受けます。
INTERFACE で配列ポインタまたは形状無指定配列 (ARRAY(:) など) が宣言されている場合、その記述子が渡されます。これは、割付け配列だけでなく、配列ポインタとすべての配列に当てはまります。INTERFACE で配列ポインタまたは形状指定配列が宣言されている場合、またはインターフェイスが存在しない場合、配列ポインタと配列は、連続配列としてベースアドレスによって渡されます。この方法は、連続配列の各部分に対して、配列の最初の要素を渡す方法に似ています。
Fortran 95/90 配列ポインタまたは配列を別の言語に渡すときには、その記述子またはそのベースアドレスを渡すことができます。
次に、各種の属性が有効になっているときに、割付け配列と Fortran 95/90 配列ポインタがどのように渡されるかを示します。
配列ポインタまたは配列のプロパティがない場合、またはプロパティが REFERENCE の場合、渡す側のプロシージャのプロパティにかかわらず、記述子によって渡されます (なし; C; または C, REFERENCE)。
配列ポインタまたは配列のプロパティが VALUE の場合、渡す側のプロシージャのプロパティにかかわらず、エラーが返されます。
記述子を基本とする配列では、VALUE オプションは使用できないことに注意してください。
Fortran の配列ポインタまたは配列を Fortran 以外のルーチンに記述子によって渡す場合、そのルーチンは記述子を解釈する方法を知らなくてはなりません。記述子の一部は C のポインタのようなアドレス空間へのポインタで、またその一部はポインタ記述または次元数、ストライド、および範囲などの配列プロパティの記述です。
インテル® Fortran の配列記述子の書式についての詳細は、「配列と Fortran 配列記述子の処理」を参照してください。
スカラデータをポイントする Fortran 95/90 ポインタは、データのアドレスが含まれており、記述子によっては渡されません。