COBOL配列の初期化方法を教えてください
COBOLでは、配列の初期化に2つの方法が用いられます。
- INITIALIZE 文を使用します。これは配列のすべての要素に初期値を割り当てるために使用されます。構文は次のようになります。
INITIALIZE array-name [FROM data-item] [GIVING data-item]
配列名に初期化対象の配列名を、データ項目にそれぞれの初期値を設定します。初期値を配列の各要素に代入する場合はFROM句を使用し、データ項目に初期値を格納する場合はGIVING句を使用します。
次のコードがあるとしよう、10個の要素を含む配列が初期化され0になります。
01 ARRAY-NAME OCCURS 10 TIMES.
05 ARRAY-ELEMENT PIC 9(3).
...
INITIALIZE ARRAY-NAME
- VALUE句を追加:各要素に初期値を指定するための句で、構文は次のとおり
VALUE OF data-item
データ項目 data-item は、初期値を示すデータ項目です。
例えば、次のコードは5つの要素を含む配列を1、2、3、4、5で初期化します。
01 ARRAY-NAME OCCURS 5 TIMES.
05 ARRAY-ELEMENT PIC 9(3).
...
VALUE OF ARRAY-ELEMENT IS 1, 2, 3, 4, 5
いずれの方法においても、COBOL配列に初期値を与えることができます。