ALLOCATABLE 属性によって、割り振り可能オブジェクトを宣言できます。ALLOCATE ステートメントを実行することによって、または派生型代入ステートメントによって、これらのオブジェクトのストレージ・スペースを動的に割り振ることができます。オブジェクトが配列である場合、そのオブジェクトは据え置き形状配列または想定ランク配列です。
オブジェクトは、ポインティング先にしないでください。
オブジェクトが、DIMENSION 属性を使用して有効範囲単位内の他の場所で指定された配列の場合、配列仕様は、deferred_shape_spec または assumed_rank_spec である必要があります。
割り振り可能オブジェクトは、ストレージ・スペースの割り振り後に初期化できます。-qinitalloc を使用してプログラムをコンパイルすると、割り振り済みのすべての未初期化オブジェクトが初期化されます。
! Two-dimensional array a declared but no space yet allocated
REAL, ALLOCATABLE :: a(:, :)
READ (5, *) i, j
ALLOCATE(a(i, j))