Как присвоить / получить значение переменной по следующему адресу памяти в Фортране - PullRequest
0 голосов
/ 08 января 2019

У меня есть два набора глобальных переменных, каждая из которых хранится в именованном блоке 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 ++ я мог бы сделать это легко, увеличивая указатели. Однако в Фортране указатели не работают так. Есть ли способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...