XL Fortran for AIX V8.1.1

ランゲージ・リファレンス

+----------------------------------IBM 拡張----------------------------------+

AUTOMATIC

目的

AUTOMATIC 属性は変数に自動ストレージ・クラスを持たせることを指定します。つまり、一度プロシージャーが終了した後は変数は定義済みではありません。

構文



>>-AUTOMATIC--+----+--automatic_list---------------------------><
              '-::-'
 
 

automatic
変数名、または明示的形状指定リストか据え置き形状指定リストを持つ配列宣言子です。

規則

automatic の名前がそれが宣言されている関数と同じ名前の場合、文字タイプ、あるいは派生型にすることはできません。

ポインターまたは配列である関数結果、仮引き数、ステートメント関数、自動オブジェクト、またはポインティング先には、AUTOMATIC 属性を指定してはなりません。 AUTOMATIC 属性を持つ変数をモジュールの有効範囲単位内で定義することはできません。共通ブロック項目に、AUTOMATIC 属性によって明示的に宣言された変数を指定することはできません。

同じ有効範囲単位内で 1 つの変数に対して複数の AUTOMATIC 属性を指定することはできません。

スレッドの作業範囲内で AUTOMATIC と宣言された変数はすべて、そのスレッドに対してローカルになります。

-qinitauto コンパイラー・オプションが指定されていない場合、DATA ステートメントやタイプ宣言ステートメントを使用しても AUTOMATIC 属性を持つ変数を初期化することはできません。 -qinitauto オプションが指定されている場合、AUTOMATIC 属性を持つ変数のストレージのすべてのバイトは指定されたバイト値 (値が設定されていない場合は 0) に初期化されます。

automatic がポインターの場合、AUTOMATIC 属性はポインター自身に設定されるのであり、そのポインターに関連する (あるいは関連する可能性のある) ターゲットに設定されることはありません。

ローカル変数はデフォルトで自動ストレージ・クラスを持っています。呼び出しコマンドに関するデフォルト設定値の詳細については、「ユーザーズ・ガイド」の『-qsave オプション』を参照してください。

注:
AUTOMATIC 属性を持つオブジェクトを自動オブジェクトと混同しないでください。 自動オブジェクトを参照してください。
AUTOMATIC 属性と互換性のある属性





CALL SUB
CONTAINS
  SUBROUTINE SUB
    INTEGER, AUTOMATIC :: VAR
    VAR = 12
  END SUBROUTINE                  ! VAR becomes undefined
END

関連情報

+--------------------------------IBM 拡張の終り-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]