У меня есть два набора глобальных переменных, каждая из которых хранится в именованном блоке common
, например:
integer :: x1, y1, z1, x2, y2, z2
common/vars/ x1, y1, z1
common/vars/ x2, y2, z2
Есть две разные вещи, которые я хочу иметь возможность сделать с этими переменными:
- Сохраните значения каждого набора переменных в массиве так, чтобы конечным результатом были массивы, определенные как
integer :: a(3) = (/ x1, y1, z1 /), b(3) = (/ x2, y2, z2 /)
- Сохраните значения во втором наборе в соответствующих переменных первого набора. То есть:
x1 = x2
, y1 = y2
и z1 = z2
.
Однако в реальном коде в каждом наборе намного больше трех переменных. Поэтому я хочу быть в состоянии сделать это с помощью циклов. В C / C ++ я мог бы сделать это легко, увеличивая указатели. Однако в Фортране указатели не работают так. Есть ли способ сделать это?