2.17. Динамические массивы

В языке FORTRAN отсутствуют средства для произвольных операций с ди­намической памятью, как в языках PASCAL и C. Вместо них можно использо­вать динамически распределяемые (или просто динамические) массивы. Память под такие массивы отводится не при компиляции программы, а по мере необхо­димости во время выполнения, а после использования может быть освобождена. Динамические     массивы     описываются     со     специальным атрибутом

ALLOCATABLE :

uмя[ALLOCATABLE] описатель измерений Причем описатель измерений динамического массива имеет вид

( : , : , ... , : )

и задает только размерность массива, которая равна количеству двоеточий (двое­точия разделяются запятыми). Выделяется память для динамического массива оператором ALLOCATE :

ALLOCATE (имя описатель измерений [,STAT=код ошибки]) Описатель измерений в операторе ALLOCATE записывается уже полностью, но, в отличие от обычных массивов, границы измерений могут задаваться любы­ми выражениями. Существует одно ограничение на использование динамических массивов - их можно использовать как скалярные переменные только в списках ввода-вывода, но не в операторе присваивания и не в арифметических выраже­ниях. Память, отведенная под динамический массив, освобождается оператором

DEALLOCATE :

DEALLOCATE (uмя[,STAT=код ошибки])