fortran怎么动态分配内存
时间: 2023-09-05 11:10:55 浏览: 190
在 Fortran 中,可以使用 `allocate` 命令来动态分配内存。下面是一个简单的例子:
```
program dynamic_memory_allocation
implicit none
integer, dimension(:), allocatable :: array
integer :: n, i
! 获取数组长度
print *, "请输入数组长度:"
read *, n
! 分配数组内存
allocate(array(n))
! 初始化数组
do i = 1, n
array(i) = i
end do
! 输出数组
print *, "数组元素为:"
do i = 1, n
print *, array(i)
end do
! 释放数组内存
deallocate(array)
end program dynamic_memory_allocation
```
在上面的例子中,我们通过 `allocate` 命令动态分配了一个长度为 `n` 的整型数组 `array` 的内存。然后我们对数组进行初始化,并输出数组元素。最后我们通过 `deallocate` 命令释放了数组的内存。
需要注意的是,动态分配的内存在使用完之后需要手动释放,否则会造成内存泄漏。在程序中使用 `deallocate` 命令来释放动态分配的内存。
相关问题
Fortran动态分配数组内存
在 Fortran 中,可以使用 `allocate` 和 `deallocate` 命令来动态分配和释放数组的内存。下面是一个简单的例子:
```
program dynamic_array_allocation
implicit none
integer, dimension(:), allocatable :: array
integer :: n, i
! 获取数组长度
print *, "请输入数组长度:"
read *, n
! 分配数组内存
allocate(array(n))
! 初始化数组
do i = 1, n
array(i) = i
end do
! 输出数组
print *, "数组元素为:"
do i = 1, n
print *, array(i)
end do
! 释放数组内存
deallocate(array)
end program dynamic_array_allocation
```
在上面的例子中,我们通过 `allocate` 命令动态分配了一个长度为 `n` 的整型数组 `array` 的内存。然后我们对数组进行初始化,并输出数组元素。最后我们通过 `deallocate` 命令释放了数组的内存。
需要注意的是,动态分配的内存在使用完之后需要手动释放,否则会造成内存泄漏。在程序中使用 `deallocate` 命令来释放动态分配的内存。
fortran动态分配多维数组内存
在 Fortran 中,可以使用 `allocate` 和 `deallocate` 命令来动态分配和释放多维数组的内存。下面是一个简单的例子:
```
program dynamic_multidimensional_array_allocation
implicit none
integer, dimension(:,:), allocatable :: array
integer :: m, n, i, j
! 获取数组大小
print *, "请输入数组大小:"
read *, m, n
! 分配数组内存
allocate(array(m,n))
! 初始化数组
do i = 1, m
do j = 1, n
array(i,j) = i * j
end do
end do
! 输出数组
print *, "数组元素为:"
do i = 1, m
do j = 1, n
print *, array(i,j)
end do
end do
! 释放数组内存
deallocate(array)
end program dynamic_multidimensional_array_allocation
```
在上面的例子中,我们通过 `allocate` 命令动态分配了一个大小为 `m` 行 `n` 列的整型二维数组 `array` 的内存。然后我们对数组进行初始化,并输出数组元素。最后我们通过 `deallocate` 命令释放了数组的内存。
需要注意的是,动态分配的内存在使用完之后需要手动释放,否则会造成内存泄漏。在程序中使用 `deallocate` 命令来释放动态分配的内存。
阅读全文