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