在Fortran中,动态内存分配可以通过ALLOCATE和DEALLOCATE来实现。ALLOCATE用于动态分配内存,而DEALLOCATE用于释放动态分配的内存。
下面是一个简单的示例,演示了如何在Fortran中进行动态内存分配:
program dynamic_memory_allocation
implicit none
integer, allocatable :: arr(:)
integer :: n
! 获取用户输入的数组大小
print *, "Enter the size of the array:"
read *, n
! 动态分配内存
allocate(arr(n))
! 将数组初始化为0
arr = 0
! 打印数组内容
print *, "Array elements:"
print *, arr
! 释放动态分配的内存
deallocate(arr)
end program dynamic_memory_allocation
在上面的示例中,用户输入一个数组的大小,然后使用ALLOCATE动态分配内存来创建一个大小为n的整数数组。然后将数组初始化为0,并打印数组的内容。最后使用DEALLOCATE释放动态分配的内存。
值得注意的是,动态内存分配在Fortran中需要谨慎使用,避免内存泄漏和内存溢出的问题。在使用ALLOCATE分配内存后,一定要记得使用DEALLOCATE释放内存,以避免内存泄漏。