В Fortran можно выделить память для указателя, или один не может:Понимание Fortran указатели
real(kind=jp), target :: bt(100,100)
real(kind=jp), pointer :: pt(:,:)
Но тогда вы можете выделить память для указателя pt
:
allocate(pt(100,100))
Мой вопрос: что являются плюсами и минусами? Для всех, что я вижу, выделение памяти указателю поражает цель указателя и использует больше памяти. Конечно, мои знания указателей ограничены, поэтому, если кто-то может объяснить мне, что происходит здесь, я был бы благодарен.
Я использую модель со смешанным кодом FORTRAN 77 и Fortran 90, плюс, я компилирую код с использованием компиляторов Intel.
У меня другое беспокойство, ОП не упоминает 'allocatable' вообще. Я не уверен, правильно ли он понимает, что делают три строки кода. –
Я не про программист, но в своей работе я занимаюсь множеством задач программирования, которые часто требуют, чтобы я выбрал оптимальный способ решения проблемы, а не просто сделать это жестоким образом. К сожалению, я сталкиваюсь с большим количеством старого кода и должен попытаться понять, что происходит. Итак, да, я не полностью понял указатели в Фортране. Моя первая встреча с указателями заключалась в том, что главной проблемой было потребление памяти. Теперь я понимаю немного лучше. В моей текущей задаче мы используем производные типы для передачи большого количества данных в виде указателей с выделенной памятью. Спасибо, парни :-) – Shejo284