A változókat deklarálni kell.
Inicializálni csak a parameter argumentumú
változókat lehet.
Az adattípushoz a műveletek is hozzáértôdnek.
Automatikus típuskonverzió van, a nyelv nem szigorúan típusos. Pl: ha két egész számot
osztok, annak a típusa egész lesz.
Típusértéktartományok nyelvfüggôek. Pl:
integer értelmezési tartománya: -2^31..2^31.
Típust csak külön modulban
lehet definiálni. Itt lehet megadni hozzá a műveleteket is. Az alapoperátorokat át lehet
definiálni.
Létrehozása a dimension argumentummal.
Deklaráláskor kell rögzíteni a méretet,
kivéve parameter ill. save argumentumúaknál. Dinamikusan allokált tömb az
allocatable argumentummal.
Eleme bármilyen típus lehet.
Indexelése
()-lel. Szabadon választott egész indextartománnyal lehet indexelni, de azt
deklaráláskor kell megadni.
Egy egész tömbnek egyszerre is lehet értéket adni a (/
<lista> /)-val.
Lehet többdimenziós tömböt is létrehozni.
pl: integer, dimension (3 : 5) :: int_tomb1 ! 3-tól 5-ig indexelt integer, dimension (3) :: int_tomb2 ! 1-tól 3-ig indexelt int_tomb1 = (/ 3, 2, 1 /) print *, int_tomb1(4) ! ez 2-t ír ki
pointer argumentummal.
Mindig van típusa.
A => művelettel
rá lehet címezni egy target argumentumú változóra.
Két pointer egyenlô, ha
ugyanolyan értékre mutatnak.
Lehet deallokálni.
A pointerek nem kapnak
automatikusan kezdeti étéket, nullify-vel lehet nullázni.
Nincs rá külön kulcsszó.
Lehetnek private és public mezôi is.
Szelekció művelet jele: %.
Struktúrának bármilyen típusú komponense lehet,
struktúra típusú is.
Nincs.