配列ポインタと割付け配列の処理

Fortran 95/90 の配列ポインタと配列の渡し方は、その時点で有効な ATTRIBUTES プロパティと、渡し先のプロシージャの INTERFACE (存在する場合) の影響を受けます。

INTERFACE で配列ポインタまたは形状無指定配列 (ARRAY(:) など) が宣言されている場合、その記述子が渡されます。これは、割付け配列だけでなく、配列ポインタとすべての配列に当てはまります。INTERFACE で配列ポインタまたは形状指定配列が宣言されている場合、またはインターフェイスが存在しない場合、配列ポインタと配列は、連続配列としてベースアドレスによって渡されます。この方法は、連続配列の各部分に対して、配列の最初の要素を渡す方法に似ています。

Fortran 95/90 配列ポインタまたは配列を別の言語に渡すときには、その記述子またはそのベースアドレスを渡すことができます。

次に、各種の属性が有効になっているときに、割付け配列と Fortran 95/90 配列ポインタがどのように渡されるかを示します。

記述子を基本とする配列では、VALUE オプションは使用できないことに注意してください。

Fortran の配列ポインタまたは配列を Fortran 以外のルーチンに記述子によって渡す場合、そのルーチンは記述子を解釈する方法を知らなくてはなりません。記述子の一部は C のポインタのようなアドレス空間へのポインタで、またその一部はポインタ記述または次元数、ストライド、および範囲などの配列プロパティの記述です。

インテル® Fortran の配列記述子の書式についての詳細は、「配列と Fortran 配列記述子の処理」を参照してください。

スカラデータをポイントする Fortran 95/90 ポインタは、データのアドレスが含まれており、記述子によっては渡されません。