部分配列の基本的な使い方

fortran90/95では、配列の添字部分に始値と終値をコロン(:)で区切って記述することにより、その範囲の部分要素を扱えるようになった。このような配列を部分配列(array section)という。

部分配列に対する部分配列代入文

部分配列の記述方法と部分配列に対する代入演算例を示す。

部分配列の記述方法と部分配列に対する代入演算例

!配列変数名(始値:終値)
 
integer m(10)                 !整数型配列mの宣言
m(1:3) = 0                    !m(1),m(2),m(3)に0を代入
m(4:6) = (/ 2, 3, 4 /)        !m(4),m(5),m(6)に2,3,4を代入
m(1:3) = (/ (i,i=1, 5, 2) /)  !m(1),m(2),m(3)に1,3,5を代入
m(:) = 0                      !配列mの全要素に0を代入

部分配列は、配列の添字部分に(始値:終値)と表示された配列である。通常は始値は配列の下限値以上、終値は上限以下とする。1)

m(1:3) = (/ (i,i=1, 5, 2) /)2)をdoループによる代入方法を書き換えると

j = 1
do i = 1, 5, 2
  m(j) = i
  j = j + 1
end do

となる。

上記の代入演算では、m(1),m(2),m(3)に順に1,3,5という値が設定される。

1) 「添字3組」や始値が終値より大きい場合などは部分配列の利用方法を参照
2) 定数配列を表記するときに、(/の間にスペースを入れるとコンパイルエラーとなる場合がある。