next up previous contents
Nächste Seite: Dynamische Felder Aufwärts: Vereinbarungsanweisungen Vorherige Seite: Felder   Inhalt


Speicherung von Feldern

Bei der Verwendung von Feldern ist es wichtig, Kenntnis über die Speicherung zu besitzen. Ein Feld wird in einem kontinuierlichen Block des Arbeitsspeichers abgespeichert. Das erste Feldelement kommt in das erste Speicherwort. Die Feldelemente werden spaltenweise in aufsteigender Reihenfolge gespeichert, d.h. der erste Indexwert wird am schnellsten erhöht und der letzte am langsamsten.

Beispiel: Das zweidimensionale Feld A(3,4) wird in der unten angegebenen Weise im Speicher abgelegt: A(1,1); A(2,1); A(3,1); A(1,2); A(2,2); ...; A(2,4); A(3,4). Man kann auf das komplette Feld zugreifen durch Angabe des Feldnamens; der Zugriff auf einzelne Feldelemente erfordert zusätzlich die Angabe des Indexes (siehe obiges Beispiel).

=1.00mm
\begin{picture}(150.00,55.00)
\put(10.00,10.00){\framebox (20.00,5.00)[cc]{A(3,1...
...00,30.00){\line(0,1){20.00}}
\put(120.00,50.00){\line(1,0){20.00}}
\end{picture}

Beim Zugriff auf Elemente kann der Indexausdruck Funktionsaufrufe und Zugriffe auf Feldelemente enthalten. Der Wert eines Indexausdrucks darf die aktuelle Größe der Dimension nicht überschreiten. Eine Überprüfung auf Zugriffe außerhalb der Indexgrenzen findet in der Regel nicht statt, kann aber durch Compileroptionen erzwungen werden. Feldzugriffe mit ungültigem Index bewirken nicht vorhersehbare Reaktionen und Ergebnisse des Programms!



Lars Tornow 2003-03-31