【问题标题】:Zero indexed array in Fortran?Fortran中的零索引数组?
【发布时间】:2018-02-01 12:31:56
【问题描述】:

有人可以解释什么是Fortran 中的零索引数组 以及示例。我没有在互联网上获得任何内容。

【问题讨论】:

  • 如果我在一个流行的搜索引擎的输入框中输入那个粗体短语,那么返回的第二个命中回答了这个问题。令人难以置信的是,您也找不到类似的材料。
  • 1. Fortran 的任何介绍性材料都回答了这个问题。 2. 你不是在问问题。
  • @HighPerformanceMark 侮辱他人永远不会使任何人受益。我在很长一段时间后才发布问题,这就是为什么我认为有礼貌并且因为我离开的用户的这种行为。
  • 这里的问题和提出的副本不等价。相关的,充其量。重复的帖子中也没有回答这个问题。
  • @PrashantShukla 但是,HighPerformanceMark 并没有真正侮辱任何人,他直接回复了您的声明“我在互联网上没有收到任何内容。” 这是不可能的相信。

标签: fortran fortran90


【解决方案1】:

零索引数组 是一个索引原点为ZERO 的数组。这意味着数组的第一个元素由索引0 引用。

声明它们时,Fortran 数组默认从索引 1 开始

INTEGER, DIMENSION(3) :: v

这里,符号 v 表示一个大小为 3 的一维数组,其中包含元素 v(1)v(2)v(3)

但是,Fortran standard 使您可以设置数组的开始和结束索引。例如:

INTEGER, DIMENSION(0:2) :: w

在这种情况下,符号w 再次表示大小为3 的一维数组。但现在有了元素w(0)w(1)w(2)。因为起始索引是0,所以这是一个零索引数组

对于显式形状数组Section 5.3.8.2 of the standard 声明DIMENSION 属性可以声明为

DIMENSION ( [lower-bound :] upper-bound )

所以一切皆有可能,您可以根据需要以-42 开头并以+42 结尾。

lower-boundupper-bound 的值决定了 沿特定维度的数组,因此数组的范围 该维度中的数组。如果出现lower-bound,它指定下限;否则下限为 1。下限或上限的值可以是正数、负数或零。该维度中数组的下标范围是介于下限和上限之间(包括下限和上限)的整数值的集合,前提是上限不小于下限。如果上限是 小于下限,范围为空,范围为 维度为零,数组大小为零。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-30
    • 2014-04-06
    • 1970-01-01
    • 2016-01-27
    • 2019-05-04
    • 1970-01-01
    相关资源
    最近更新 更多