我不是 100% 的角色在1:
这里。从哪个索引开始复制?但是为什么不为 rank 2 数组设置两个这样的参数呢?
问问题
1059 次
2 回答
2
更明确一点:
在 Fortran90 及更高版本中,您通过提供单个索引来访问单个数组值,并通过提供由冒号分隔的索引范围来访问子数组(数组的窗口)。
a(1) = 0.
a(2:5) = (/3.14,2.71,1.62,0./)
你也可以给出一个步长。
a(1:5:2) = (/0,2.71,0./)
最后,您可以省略值并插入默认值。因此,如果a
从索引 1 运行到 5,那么我可以将上面的内容写为
a(::2) = (/0,2.71,0./)
1和5是隐含的。显然,如果它使代码不清楚,你不应该忽略这些。
使用多维数组,您可以在每个维度上混合和匹配这些,如您的示例中所示。
于 2013-06-08T05:24:55.873 回答
1
您正在获取 的切片array2
,即从行到D
第 'th 列中的元素,并将它们放入其中元素通过的切片中1
C
array1
1
A
所以两个切片都是一维数组
切片可能不是 Fortran 中的正确术语
于 2013-06-07T20:52:51.570 回答