配列要素

配列要素は,配列を構成するスカラ・データ項目の 1 つを指します。(配列または配列成分に追加された) 添字並びは,引用先の要素を決定します。配列要素の引用は次の形式を取ります。

array(subscript-list)

array
配列の名前。

subscript-list
コンマで区切られた 1 つまたは複数の添字並び。添字の数は配列の次元数と等しくなくてはなりません。

個々の添字は,その次元の境界の範囲内の値を持つスカラ整数 (またはその他の数値) 式でなくてはなりません。

規則と振る舞い

各配列要素は親配列の型,種別パラメタ,および特定の属性 (INTENTPARAMETER,および TARGET) を継承します。配列要素は POINTER 属性を継承することはできません。

配列要素が文字型である場合,その後に括弧で囲んで文字部分列範囲を続けることができます。

	ARRAY_D(1,2) (1:3)	! 要素は長さ 3 の文字部分列です。

ただし,習慣上,このようなオブジェクトは配列要素ではなく文字部分列と見なされます。

次に,REAL B(10,20) として宣言された配列の有効な配列要素引用の例をいくつか示します。

	B(1,3),B(10,10),B(5,8)

以下のように添字として関数や配列要素を使用することができます。

	REAL A(3, 3)
	REAL B(3, 3), C(89), R
	B(2, 2) = 4.5				! 値 4.5 を要素 B(2,2) に代入します
	R = 7.0
	C(INT(R)*2 + 1) = 2.0			!  C の第 15 要素に 2.0 を代入します
	A(1,2) = B(INT(C(15)), INT(SQRT(R)))	! 要素 A(1,2) に要素 B(2,2) を代入します

配列宣言の形式については,「配列の宣言文」を参照してください。

配列要素順序

配列の要素は,配列要素順序と呼ばれる列を構成します。この列中での要素の位置は,その添字順序値です。

配列の要素は線形値列として格納されます。1 次元配列の場合,第 1 の要素が第 1 の記憶位置に格納され,最後の要素が列の最後の記憶位置に格納されます。多次元配列は,一番左の添字が最も急速に変化するように格納されます。これは添字進行順序と呼ばれます。

次図に,1,2,および 3 次元の配列の記憶方法を示します。

配列の記憶方法

たとえば,2 次元配列 BAN では,要素 BAN(1,2) は 4 という添字順序値を持ちます。3 次元配列 BOS では,要素 BOS(1,1,1) は 1 という添字順序値を持ちます。

部分配列では,要素の添字順序は,部分配列そのものの中での順序です。たとえば,配列が B(20) として宣言されている場合,部分配列 B(4:19:4) は要素 B(4)B(8)B(12),および B(16) から構成されます。部分配列中での B(4) の添字順序値は 1 です。部分配列中での B(12) の添字順序値は 3 です。

関連情報