向量下标

向量下标是整数数组表达式,秩为 1,指定对应于表达式元素的值的下标序列。

向量下标可以是 IBM® Open XL Fortran中列组 1 的实数组表达式。

该序列不必按顺序,并且可能包含重复值:
INTEGER A(10), B(3), C(3)
PRINT *, A( (/ 10,9,8 /) ) ! Last 3 elements in reverse order
B = A( (/ 1,2,2 /) )       ! B(1) = A(1), B(2) = A(2), B(3) = A(2) also
END
如果向量下标具有多个具有相同值的元素,那么具有该向量下标的数组部分不能出现在 变量的定义或取消定义的语法上下文中提到的任何情境中。
备注信息:
  1. 用作内部文件的数组部分不得具有向量下标。
  2. 如果将带有向量下标的数组部分作为实际参数传递,则不得定义或重新定义关联的哑参数。
  3. 带有向量下标的数组部分不能是指针赋值语句中的目标。
  4. Fortran 2008 开始IBM Open XL Fortran 中,包含向量下标的非零数组部分被视为非连续的。 详情请参阅 “连续性 ”。 Fortran 2008
! We can use the whole array VECTOR as a vector subscript for A and B
INTEGER, DIMENSION(3) :: VECTOR= (/ 1,3,2 /), A, B
INTEGER, DIMENSION(4) :: C = (/ 1,2,4,8 /)
A(VECTOR) = B            ! A(1) = B(1), A(3) = B(2), A(2) = B(3)
A = B( (/ 3,2,1 /) )     ! A(1) = B(3), A(2) = B(2), A(3) = B(1)
PRINT *, C(VECTOR(1:2))  ! Prints C(1), C(3)
END