静的記憶域

静的変数の記憶域は、プログラムの実行前にコンパイラまたはリンカーによって割り当てられ、プログラムの実行中は最後まで割り当てられたままになります。

変数が再帰プロシージャで宣言されているかどうかにかかわらず、静的変数の記憶域のインスタンスは 1 つだけ割り当てられます。静的変数に割り当てられた値は、その変数が宣言されているプロシージャのすべての呼び出しで保持されます。

静的な文字列、8 ビット領域変数、および配列変数に指定される範囲はいずれも定数でなければなりません。

静的変数は、INTERNAL 属性または EXTERNAL 属性を指定して宣言できます。いずれの属性も指定されていない場合は、INTERNAL と見なされます。

内部の静的変数は、その変数を含むブロックとそれに含まれるすべてのブロック (同じ名前が再宣言されたブロックを除く) で認識されます。これは、他のすべての変数と同じ標準の範囲の規則です。

外部の静的変数は、その変数を含むブロックとそれに含まれるすべてのブロック (同じ名前が再宣言されたブロックを除く) で認識されます。ただし、EXTERNAL 属性が指定された同じ名前のすべての宣言 (プログラムの別のモジュールでの宣言も含む) で同じ記憶域を共有し、初期値も含めて同じ属性を指定する必要があります。外部の静的変数は、FORTRAN の共通の変数と同様にすべてのプログラム モジュールで認識および共有されますが、他の外部の静的変数とは別にそれぞれ共有される点が異なります。