Я пытаюсь оптимизировать код в fortran77, и я хотел бы знать, являются ли массивы, объявленные следующим образом внутри подпрограммы или файла заголовка, массивами указателей или массивами структур:
случай 1: реальный * 8 x красный (макс. атм.)
случай 2: общий /атомы/ x(maxatm)
Я уже искал в Интернете, но не смог найти никакой информации об этом, единственное, что я нашел, это то, что когда вы передаете массив в подпрограмму, он передается по ссылке. Но относительно того, когда он объявлен в заголовочном файле или внутри процедуры, я ничего не нашел.
Заранее спасибо!
POINTER
s в структуре. Из спецификации: каждый указатель содержит адрес своей парной переменной. Переменная на основе указателя — это переменная, соединенная с указателем в операторе POINTER. Переменная на основе указателя обычно называется просто переменной на основе. Указатель — это целочисленная переменная, содержащая адрес. - person MoonKnight   schedule 08.03.2012SUBROUTINE
s иFUNCTION
s, являются по ссылке не значением. Кроме того, да, в F77 естьSTRUCTURE
в зависимости от выбора компилятора. - person MoonKnight   schedule 08.03.2012include
, но формулировка вопроса предполагает, что переменные объявляются внутри «файлов заголовков», хотя на самом деле это не более чем текстовая замена перед собственно компиляцией, поэтому любое объявление фактически находится внутри обычного программного модуля. Текст, который вы цитируете по указателям, не соответствует стандарту f77, и нигде в стандарте явно не упоминается передача по ссылке или значению. Поскольку все это зависит от реализации, в вопросе следует указать, какой компилятор используется. - person eriktous   schedule 08.03.2012