想定形状配列とは、各次元のエクステントが関連した実引き数からとられる仮引き数配列のことです。想定形状配列の名前は、仮引き数であるため、サブプログラム内で宣言してください。
Assumed_shape_spec_list |
---|
.-,------------------. V | >>---+-------------+--:-+-------------------------------------->< '-lower_bound-' |
それぞれの下限は、1 にデフォルト設定されるか、明示的に指定することができます。 各上限は、指定された下限に対して (実引き数配列の下限ではない) その次元のエクステントを加え、1 を引いて、サブプログラムの入り口で設定されます。
どの次元のエクステントも、関連した実引き数の対応する次元のエクステントです。
ランクは、assumed_shape_spec_list 内のコロンの数です。
形状は、関連した実引き数配列から想定されます。
サイズは、宣言されたサブプログラムの入り口で決められ、関連した引き数配列のサイズと等しくなります。
INTERFACE SUBROUTINE SUB1(B) INTEGER B(1:,:,10:) END SUBROUTINE END INTERFACE INTEGER A(10,11:20,30) CALL SUB1 (A) END SUBROUTINE SUB1(B) INTEGER B(1:,:,10:) ! Inside the subroutine, B is associated with A. ! It has the same extents as A but different bounds (1:10,1:10,10:39). END SUBROUTINE