ALLOCATABLE

文と属性ALLOCATABLE 属性は,配列が形状無指定割付け配列であることを指定します。割付け配列の形状は,ALLOCATE 文が実行され,配列の空間が動的に割り付けられた時点で決定されます。

ALLOCATABLE 属性は型宣言文または ALLOCATABLE 文で指定することができ,以下のいずれかの形式を取ります。

形式

型宣言文

type, [att-ls,] ALLOCATABLE [,att-ls] :: a[(d-spec)] [,a[(d-spec)]]...

ALLOCATABLE [::] a[(d-spec)] [,a[(d-spec)]]...

type
データ型指定子。

att-ls
省略可能な属性指定子の並び。

a
割付け配列の名前。仮引数または関数結果であってはなりません。

d-spec
形状無指定宣言 (: [,:]...)。各コロンは配列の中の 1 つの次元を表しています。

規則と振る舞い

プログラムの他の場所で,配列に DIMENSION 属性が与えられている場合,その配列は形状無指定配列として宣言されなくてはなりません。

割付け配列が不要になった場合,DEALLOCATE 文を実行することで割付けを解除することができます。

割付け配列は,COMMONEQUIVALENCEDATA,または NAMELIST 文では宣言できません。

割付け配列は基本設定では保存されません。割付け配列の値を手続呼び出しの前後で保存したい場合,配列に対して SAVE 属性を宣言する必要があります。

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

DEALLOCATESAVE型宣言文属性の互換性配列割付け配列の割付け

	! 形状無指定配列を作成し割り付ける方法
	INTEGER, ALLOCATABLE :: matrix(:,:)
	REAL, ALLOCATABLE    :: vector(:)
	...
	ALLOCATE(matrix(3,5),vector(-2:N+2))
	...

次の例は,ALLOCATABLE 属性を指定する型宣言文を示しています。

	REAL, ALLOCATABLE :: Z(:, :, :)

次は ALLOCATABLE 文の例です。

	REAL A, B(:)
	ALLOCATABLE :: A(:,:), B