这是一个初学者的问题,但我还没有找到一个全面的答案。
以下声明有什么不同(如果有的话)?
CHARACTER(5) :: a
CHARACTER, DIMENSION (5) :: b
CHARACTER(LEN=5) :: c
CHARACTER :: d(5)
CHARACTER :: e*5
并且:是否所有这些声明都可以使用其他类型,例如 REAL
?
最佳答案
不管是什么类型,<type>,dimension(5) :: b
和 <type> :: b(5)
相同并表示长度为 5
的数组. <type>
可以是例如character
, integer
, real
, logical
等。
character(5)
是 character(len=5)
的简写并声明一个长度为 5
的字符串.如果省略长度,则假定为打开。 character :: d(5)
是一个由五个长度为 1 的字符串组成的数组。
character :: e*5
是用于指定字符串长度的旧变体。
len
是字符串所固有的(并且对于例如 float 没有意义)。您可以指定自己的派生类型具有长度 len
,虽然(“参数化派生类型”)。对于整数和 float (以及其他一些),您可以指定 kind
以类似的方式计算变量。
详情请咨询Fortran 2008 Standard , channel 。 4.4.3.2 “字符类型说明符”。
关于arrays - FORTRAN 中的数组声明,适合初学者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28863369/