Fortran 95/90 配列ポインタと割付け配列の処理

Fortran 95/90 の配列ポインタと配列の渡し方は,その時点で有効な ATTRIBUTES オプションと,渡し先の手続の INTERFACE (存在する場合) の影響を受けます。INTERFACE が配列ポインタか,形状無指定配列 (ARRAY(:) など) を宣言している場合,その記述子が渡されます。これは,割付け配列だけでなく,配列ポインタとすべての配列に当てはまります。INTERFACE が配列ポインタまたは固定整形配列を宣言している場合,またはインタフェースがない場合,配列ポインタまたは配列はベース・アドレスによって渡されます。これは,配列の最初の要素を渡すのに似ています。

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

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

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

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

Visual Fortran の配列記述子の書式についての詳細は,「配列と Visual Fortran 配列記述子の処理」を参照してください。

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

各種の型の配列引数を渡すときの性能への影響については,「配列の効率的な使用」を参照してください。