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)是什么意思?
它正在做的就是声明一个car
维数(m,n,q,r)的数组.但是,这些维度不是由您的示例代码定义的.
mercedes_ay(1,1,1,1)
是阵列中的第一辆车.第一辆车mercedes_ay(1,1,1,1)%x
的x
位置也是如此.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
的是阵列中的第一辆车.它基本上充当别名.