next up previous contents
Nächste Seite: Feldtypen Aufwärts: Fortran 90 Vorherige Seite: MODULE   Inhalt

Felder

Mehrere Datenobjekte gleichen Typs (siehe skalare Datentypen) können zu Feldern zusammengefaßt werden. Die einzelnen Datenobjekte heißen dann Feldelemente; sie sind Teilobjekte des Feldes und werden über den Feldnamen und eine angehängte Indexliste angesprochen: Feldname(Beginn:Ende)
Wird ein Feld nur durch seinen Namen angesprochen, so wird auf das gesamte Feld Bezug genommen.
Felder können auch mehrdimensional sein, d.h. es gibt mehrere Indizes über die ein Feldelement angesprochen werden muß. FORTRAN speichert intern Felder allerdings immer eindimensional und zwar so, daß der erste Index als erster läuft. (D.h. bei einem Feld(n,m) liegt das Feldelement (i,j) an der Stelle n · (j-1) + i
Eine Feldvereinbarung schaut folgendermaßen aus:
[typ][, attribute][, DIMENSION(indexgrenzen)] :: feldname[(indexgrenzen)]
Die Indexgrenzen haben die Form
[untergrenze:]obergrenze[,[untergrenze:] obergrenze] .. oder
[untergrenze]: oder einfach nur :
(untergrenze und obergrenze sind Ausdrücke, die beim Eintritt in die jeweilige Programmkomponente bekannte INTEGER-Werte annehmen; der Standardwert für die Untergrenze ist per default 1)
Falls links vom :: ein DIMENSION steht, dann haben alle Variablen rechts vom :: diese Form, außer es wird ihnen explizit eine andere Form gegeben.
Die wichtigsten Attribute sind:
ALLOCATABLE für dynamisch erzeugbare Felder
INTENT(...) zur Spezifikation von Formalparametern: IN, OUT oder INOUT
(Ein- und/oder Ausgabeparameter)
OPTIONAL zur Deklaration optionaler Formalparamter
(ein Paramter, der in der Aktualparameterliste nicht vorkommen muß)



Unterabschnitte
next up previous contents
Nächste Seite: Feldtypen Aufwärts: Fortran 90 Vorherige Seite: MODULE   Inhalt
Reinfried O. Peter 2001-09-07