gpt4 book ai didi

memory-management - 为什么 Fortran 中需要可分配数组?

转载 作者:行者123 更新时间:2023-12-04 08:57:45 24 4
gpt4 key购买 nike

我是 Fortran 新手。我的问题是为什么我们需要 Fortran 中的可分配数组?我知道一个好处是您不需要事先知道尺寸。但还有性能方面的原因吗?

例如,数组使用后不再重复使用,我们将释放该数组。与不使用可分配数组(即常规数组)相比,这种释放是否有助于释放更多内存?

最佳答案

可分配数组有两个用途:

  1. 您不必在编译时知道数组的大小。
  2. 您可以最大限度地减少内存使用。

如果没有可分配的数组,您将必须选择一个足够大的静态数组大小以适应任何可能的大小,这意味着在大多数情况下,您将使用比所需更多的内存。而如果你错误判断了可能的大小,则需要更改代码并重新编译。

静态数组还在其作用范围内的整个持续时间内消耗内存,因此对于主程序中的数组来说,这将是整个运行时间。如果您不再需要可分配数组,则可以(并且应该)释放它们,以最大限度地减少内存使用。

(在可分配数组之前,如果您知道永远不会同时需要不同的变量和数组,则可以使用 EQUIVALENCE 语句使不同的变量和数组使用相同的物理内存。)

关于memory-management - 为什么 Fortran 中需要可分配数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36612280/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com