Fortran中common与real一起定义数组
时间: 2024-03-28 14:41:42 浏览: 81
Fortran简明自学手册_Fortran_
5星 · 资源好评率100%
在Fortran中,`common`和`real`可以一起使用来定义数组。`common`可以用来定义一个内存块,其中可以包含多个`real`数组。这样,多个子程序就可以共享这个内存块,来访问这些数组。
例如,下面的代码定义了一个名为`my_vars`的`common`块,其中包含两个单精度实数数组`x`和`y`:
```
common /my_vars/ x(10), y(10)
real :: z(10)
subroutine sub1
do i = 1, 10
x(i) = i
y(i) = i * 2
z(i) = x(i) + y(i)
end do
end subroutine
subroutine sub2
do i = 1, 10
print *, x(i), y(i), z(i)
end do
end subroutine
```
在这个例子中,`common`块`my_vars`定义了两个单精度实数数组`x`和`y`,都包含10个元素。在`sub1`子程序中,`x`数组被赋值为1到10,`y`数组被赋值为2到20,`z`数组被计算为`x`和`y`相加。在`sub2`子程序中,`x`、`y`和`z`数组都被打印出来。
需要注意的是,`common`块中的数组需要在使用前进行声明,并指定数组的大小。同时,在使用数组时需要小心下标越界的问题,否则可能会出现未定义的行为。
阅读全文