Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

静的ストレージとその属性

STATIC 属性を持つと宣言された変数は、プログラムの実行の前に割り振られます。 それらは、プログラムが終了するまで割り振られたままになっています。 静的変数の割り振りについての制御は、実行中のプログラムには与えられません。

構文図を読む構文図をスキップする>>-STATIC------------------------------------------------------><
 

STATIC は外部変数のデフォルトですが、内部変数が STATIC であってもかまいません。 またこれは、パッケージ内で宣言された変数のデフォルトでもあり、いずれのプロシージャーの範囲内でもありません。 静的変数を参照できるかどうかについては、有効範囲に関する通常の規則に従います。 次の例では、変数 X は、プログラムの実行中は継続して割り振ら れていますが、プロシージャー B の中、または B に 含まれているブロックの中だけで参照することができます。 変数 Y は STATIC 属性を獲得し、またプログラムが実行している間割り振られています。

  Package: Package exports (*);
    dcl Y char(10);
 
    A: proc options(main);
      B: proc;
        declare X static internal;
      end B;
    end A;
 
    C: proc;
      Y = 'hello';
    end C;
 
  end Package;

INITIAL 属性を使用して静的変数を初期設定する場合、初期値は制限付き式でなければなりません。 またエクステントも、制限付き式として指定されなければなりません。


Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)