在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释放内存,以避免内存泄漏。