九、数组

返回首页

数组声明

数组的声明有两种方式:第一种是直接使用类型说明语句,如下:

integer A(10),X(2,1,3),Y(3,2)

第二种是通过Dimension语句,例如:
dimension A(10),X(2,1,3),Y(3,2) integer A,X,Y

数组元素的使用

A(i) 表示数组 A 的第 i 个元素
B(i:j) 表示数组 B 的第 i 到 j 个元素

数组赋值

1.直接赋值

do i = 1, 5 X(i) = 2 * i end do

2.使用data语句赋值
一般格式为:data 变量表/初值表,变量表/初值表,……

real A(10),B(10),C data A,B(6),C / 10*3.0,-1.0,4.0/

注:其中10*3.0 是指重复10个3.0。
3.隐含do循环
一般格式为:(变量表,v=e1,e2 [,e3] )

dimension A(10),B(10) data (A(i),i=3,8) / 6*3.0

4.数组赋值器
一般格式为:数组名=(/取值列表/)

reshape函数

一般格式为:数组=reshape((/数据/),(/数组形状/))
例如:
real A(2,3),B(8) a=reshape((/11,22,33,44,55,66/),(/2,3/)) b=(/0,reshape(a,(/6/)),77/)

数组的存储结构

数组是按列存储的。

数组的运算

数组的一部分可以用在表达式或者赋值语句中。
运算的数组的大小形状应该保持相同。

size()函数

size()函数返回数组的大小或数组某一维度的大小。如下:

real A(2,3) A = reshape((/(i,i=1,6)/),(/2,3/)) print*,size(A),size(A,1),size(A,2)

将会输出 6,2,3