Spec-Zone.ru › GNU Fortran 5

6.1.2 Инициализация переменных старого стиля

GNU Fortran допускает инициализацию переменных старого стиля в форме:

INTEGER i/1/,j/2/
REAL x(2,2) /3*0.,1./

Синтаксис инициализаторов такой же, как для оператора DATA, но в отличие от оператора DATA, инициализатор применяется только к переменной, непосредственно предшествующей инициализации. Другими словами, что-то вроде INTEGER I,J/2,3/ недействительно. Этот стиль инициализации разрешен только в объявлениях без двойных двоеточий (::); двойные двоеточия были введены в Fortran 90, который также ввел стандартный синтаксис для инициализации переменных в объявлениях типов.

Примеры кода, соответствующего стандарту и эквивалентного приведенному выше примеру:

! Fortran 90
      INTEGER :: i = 1, j = 2
      REAL :: x(2,2) = RESHAPE((/0.,0.,0.,1./),SHAPE(x))
! Fortran 77
      INTEGER i, j
      REAL x(2,2)
      DATA i/1/, j/2/, x/3*0.,1./

Обратите внимание, что переменные, явно инициализированные в объявлениях или в операторах DATA, автоматически получают атрибут SAVE.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.4.0/gfortran/Old_002dstyle-variable-initialization.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API