fortran中数组的访问
时间: 2024-05-13 18:17:23 浏览: 9
在Fortran中,可以使用下标来访问数组元素。下标从1开始,可以是整数或表达式的组合。例如,如果有一个名为A的数组,可以使用A(1)、A(2)、A(3)等来访问数组中的元素。
以下是一个简单的示例:
```
program array_example
implicit none
integer :: i, A(5)
do i=1,5
A(i) = i**2 ! 初始化数组元素
end do
do i=1,5
print *, A(i) ! 访问数组元素并输出
end do
end program array_example
```
输出结果为:
```
1
4
9
16
25
```
除了单个元素之外,也可以使用整个数组作为参数传递给子程序或函数,以及使用数组切片来访问多个元素。例如,A(2:4)表示访问A数组中的第2到第4个元素。
相关问题
Fortran中动态数组的用法
在Fortran中,动态数组可以使用ALLOCATABLE关键字来声明。ALLOCATABLE关键字将变量声明为可分配的,也就是说,可以在运行时动态地为其分配内存空间。
下面是一个简单的示例,演示如何使用ALLOCATABLE声明动态数组:
```
program dynamic_array_example
implicit none
integer :: n
integer, allocatable :: arr(:)
write(*,*) "Enter the size of the array:"
read(*,*) n
allocate(arr(n))
do i = 1, n
arr(i) = i
end do
!do something with the array
deallocate(arr)
end program dynamic_array_example
```
在这个示例中,用户输入了数组的大小,然后使用allocate函数为数组分配了内存空间。在使用完数组后,使用deallocate函数释放了内存空间。
需要注意的是,使用动态数组时要小心,确保不会出现内存泄漏或越界访问等问题。
fortran中二维数组的赋值
在ran 中,可以使用一个嵌套的 DO 循环来为二维数组赋值。以下是一个示例程序:
```fortran
program array_assignment
implicit none
integer :: i, j
integer, dimension(3,3) :: my_array
do i = 1, 3
do j = 1, 3
my_array(i,j) = i + j
end do
end do
! 打印数组
do i = 1, 3
write(*,*) my_array(i,:)
end do
end program array_assignment
```
在这个示例程序中,我们创建了一个 3x3 的整数数组 `my_array`,然后使用嵌套的 DO 循环为其赋值。具体来说,我们使用外层的循环变量 `i` 和内层的循环变量 `j` 来遍历数组的所有元素,然后将元素的值设置为 `i+j`。最后,我们使用另一个 DO 循环来打印数组的每一行。
注意,Fortran 中的二维数组是按列存储的,因此在访问元素时第一个索引应该是行号,第二个索引是列号。