データ・オブジェクトには静的なものと動的なものがあります。静的なデータ・オブジェクトについては,コンパイル時に一定量のメモリー記憶域が作成され,この記憶域はプログラムが終了するまで解放されません。動的なデータ・オブジェクトについては,オブジェクトのメモリー記憶域をプログラムの実行中に作成 (割り付け) し,変更し,解放することができます。
Fortran 95/90 では,ポインタ,割付け配列,および自動割付け配列が動的なデータ・オブジェクトです。
ポインタの記憶域空間は,ALLOCATE 文で割り付けられるか,割付け済みのオブジェクトに結合されるまでは作成されません。NULLIFY 文を使うと,ポインタと指示先の結合を動的に削除することができます。
ALLOCATE 文は,割付け配列の記憶域の作成にも使用できます。DEALLOCATE 文は,以前の ALLOCATE 文で予約された記憶域を解放するために使用されます。
自動割付け配列と割付け配列の違いは,前者が手続に入るときと出るときに,それぞれ自動的に割り付けられ,割付け解除されるという点にあります。
幾つかのプログラミング技法により,必要とするメモリーを最小限にすることができます。たとえば,2 つ以上の個別の配列の代わりに大きな配列を 1 つ使うことです。これ以上必要としない割付け配列は,割付け解除すべきです。
本章には,以下のトピックに関する情報があります。
関連情報