Fortran Derived Type:

Pip*_*ppi 2 object fortran90 derived-types

I am confused by the following example:

TYPE :: car 
    real :: x,  u ! position, velocity
    real :: y,  v ! 
    real :: z,  w !  
    real,dimension(3) :: uvw_0    ! initial uvw
END TYPE

TYPE (car), pointer:: mercedes
TYPE (car), DIMENSION(m,n,q,r), TARGET :: mercedes_ay 
Run Code Online (Sandbox Code Playgroud)

It looks like an implementation of object, but what does

TYPE (car), DIMENSION(m,n,q,r), TARGET :: mercedes_ay 
Run Code Online (Sandbox Code Playgroud)

关于TYPE(car) - DIMENSION(m,n,q,r)引用了哪些变量?mercedes_ay(1,1,1,1)是什么意思?梅赛德斯(1,1,1,1)是什么意思?

tpg*_*114 6

它正在做的就是声明一个car维数(m,n,q,r)的数组.但是,这些维度不是由您的示例代码定义的.

mercedes_ay(1,1,1,1)是阵列中的第一辆车.第一辆车mercedes_ay(1,1,1,1)%xx位置也是如此.mercedes_ay(1,1,1,1)%uvw_0(1)u第一辆车的首字母.等等..

mercedes(1,1,1,1)是不可能的,因为它没有DIMENSION,它是一个标量.所以它只能指向一个标量.相反,它可能会被用作:

mercedes => mercedes_ay(1,1,1,1)
Run Code Online (Sandbox Code Playgroud)

这意味着你指mercedes的是阵列中的第一辆车.它基本上充当别名.