STORAGE 関数

目的

参照される変数に割り当てられたバイト数を示す Fixed Bin(31) の値を返します。

構文

STORAGE(reference) 

省略形:STORAGE は STG

パラメーター

reference は変数です。

説明

STORAGE 関数は、参照される変数に割り当てられたバイト数を示す Fixed Bin(31) の整数を返します。変数には、スカラー、配列、配列要素、構造体、または構造体のメンバーを指定できます。

個々の配列要素を参照する場合、配列全体のサイズではなく、配列の要素のサイズが返されます。変数がビット文字列で整数のバイト数にならない場合、返される値は次のバイトに切り上げられます。

変数が文字可変型の場合、変数はテキスト フィールドと長さフィールドの 2 つの部分で構成されます。長さフィールドに常に 2 バイトが使用されるため、STORAGE は、宣言されているテキスト フィールドの長さに 2 を加えた値を返します。

変数が領域の場合、STORAGE は領域の最大サイズに領域ヘッダーのサイズを加えた値を返します。

データ記憶域の詳細については、『Open PL/I ユーザー ガイド』を参照してください。

DCL A FIXED BIN(15);
      DCL 1 FOO,
            2 AB FIXED BIN(15), 
            2 F001,
               5 A0 CHAR(12),
               5 A2 FIXED BIN(31), 
               5 A1 CHAR(5) VARYING,
            2 ABC CHAR(4);

          PUT SKIP LIST('Should see 2 ->',SIZE (A));
          PUT SKIP LIST('Should see 2 ->',STG (A));
          PUT SKIP LIST('Should see 23 ->',STG (F001)); 
          PUT SKIP;

制約事項

なし。