1program sample
2 implicit none
3
4 integer :: i, j
5
6 ! 2次元配列 (10 x 10 => 計100要素)
7 real(8) :: a(10, 10)
8
9 ! 3次元配列 (4 x 8 x 16 => 計512要素)
10 real(8) :: b(4, 8, 16)
11
12 ! 動的配列も同様に宣言できる
13 real(8), allocatable :: c(:, :)
14
15 ! 動的配列: 4 x 8
16 if(.not. allocated(c)) then
17 allocate(c(4, 8))
18 endif
19
20 ! 配列に値を代入
21 do j = 1, 8
22 do i = 1, 4
23 c(i, j) = i * j
24 enddo
25 enddo
26
27 ! 配列の中身を表示
28 do j = 1, 8
29 do i = 1, 4
30 write(*, *) c(i, j)
31 enddo
32 enddo
33
34 deallocate(c)
35
36 stop
37endprogram sample