FORTRAN中的数组声明,适合初学者

ste*_*fen 3 arrays fortran declaration

这是一个初学者的问题,但我没有找到一个全面的答案.

以下声明有何不同(如果有的话)?

CHARACTER(5) :: a
CHARACTER, DIMENSION (5) :: b
CHARACTER(LEN=5) :: c
CHARACTER :: d(5)
CHARACTER :: e*5
Run Code Online (Sandbox Code Playgroud)

并且:所有这些声明都可以与其他类型一起使用,例如REAL

Ale*_*ogt 5

不管其类型如何,<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是字符串固有的(并且没有例如浮点数).但是,您可以指定自己的派生类型以获得长度len("参数化派生类型").对于整数和浮点数(以及其他一些),您可以kind以类似的方式指定变量.

有关详细信息,请参阅Fortran 2008 Standard,Ch.4.4.3.2 "字符类型说明符".