在Fortran

时间:2018-02-13 15:55:14

标签: pointers fortran derived-types

我想知道是否有办法在Fortran中一次关联一个指针数组的每个条目。 假设我知道我将在指针数组中有5个条目,但这些条目被定义为程序进展。 伪代码中的最小示例如下:

myData         ! containing data of derived type (vehicle) and specifically: 
               ! 3 cars, 5 bikes, 2 trucks
myptr(:)       ! it is of the correct type vehicle and I know in advance 
               ! that I am going to store 5 objects.
n = 0
do while (n<5)
  ! car loop
  do i=1,3
    if (something is true for car(i)) then
      n = n + 1
      myptr(n) => car(i)
      cycle (do while)
    end if
  end do
  ! bike loop
  do i=1,5
    if (something is true for bike(i)) then
      n = n + 1
      myptr(n) => bike(i)
      cycle (do while)
    end if
  end do
  ! same for truck
end do (while)

以这种方式关联指针似乎是违法的,一般来说我理解为什么。 我觉得有一个相对简单的解决方法,但目前我很困难,有点痴迷,让它以这种方式工作......如果您对此事有任何建议或意见,我将不胜感激!

0 个答案:

没有答案