ポインタ指示先の割付け解除

確定結合状態を持っている限り,ポインタの割付け解除してはなりません。DEALLOCATE 文が,不定結合状態を持つポインタか,または割り付けによって作成された指示先を持っていないポインタを宣言している場合,エラーが発生します。

ポインタが割付け配列に結合されている場合,またはオブジェクトの一部 (配列要素や部分配列など) に結合されている場合,割付け解除してはなりません。

ポインタが割付け解除された場合,その指示先 (または指示先の一部) に結合されていた他のポインタの結合状態は不定となります。

副プログラムの中で RETURN または END 文が実行されると,その手続中で宣言 (または参照) されているポインタのポインタ結合状態は,ポインタが以下のいずれかの条件を満たしていない限り,不定となります。

結合状態が不定になったポインタは,それ以降に引用または定義することはできません。

次の例は,ポインタの割付け解除を示しています。

	INTEGER ERR
	REAL, POINTER :: PTR_A(:)
	...
	ALLOCATE (PTR_A(10), STAT=ERR)
	...
	DEALLOCATE(PTR_A)

関連情報