3.2 Arrays (Tabellen) und Strukturen (Datenstrukturen)

Ein Array (oder eine Tabelle, manchmal auch ein Feld) ist ein zusammenhängender Speicherbereich, der aus gleich langen und gleich organisierten Datenfeldern gleichen Datentyps besteht.
Diese Datenfelder bezeichnet man als Array-Elemente (oder kurz: Elemente).
Jedem Element kann eindeutig eine fortlaufende Nummer zugeordnet werden. Diese Nummer wird Index genannt.
Ein Array-Element hat keinen eigenen Namen, sondern nur einen eindeutigen Index. Der Name des Arrays und der Index eines Elements identifizieren somit eindeutig ein Array-Element.
Das erste Element eines Arrays hat im Allg. den Index 1 (in manchen Programmiersprachen beginnt der Index bei 0).

Eine Struktur (bzw. Datenstruktur) ist ein zusammenhängender Speicherbereich, der - im Gegensatz zum Array - aus beliebigen Datenfeldern unterschiedlichsten Datentyps besteht.
Jedes Strukturelement hat einen - innerhalb der Struktur eindeutigen - Namen, der sich vom Namen der Struktur selbst unterscheiden muss. Der Name der Struktur und der Name eines Elements identifizieren somit eindeutig ein Strukturelement. (In manchen Programmiersprachen kann der Strukturname weggelassen werden, wenn der Elementname auch außerhalb der Struktur eindeutig ist.)
Ein Strukturelement kann selbst wieder eine Struktur sein (Unterstruktur).


Definition eines eindimensionalen Arrays:
PL/I DCL arrayname (anzahl) datentyp;
Cobol 01 array.
    05 arrayname datentyp OCCURS anzahl INDEXED BY index.
C/C++ datentyp   arrayname [anzahl];
/370-Assembler arrayname      DS    anzahlCLlaenge

Ansprechen eines Array-Elements:

PL/I arrayname(index)
Cobol arrayname(index)
C/C++ arrayname[index-1]
            (Das erste Element hat in C/C++ immer den Index 0!)
/370-Assembler Ein Array-Element kann nicht direkt angesprochen werden!
Es muss die Adresse des Elements berechnet und in einem Register bereitgestellt werden. Erst danach kann mit Hilfe dieses Adressregisters auf das Element zugegriffen werden.


Definition einer einfachen Struktur:
PL/I DCL 1 strukturname,
      2
elementname1 datentyp,
      ... ,
      2
elementnamen datentyp;
Cobol 01 strukturname.
   05
elementname1 datentyp.
   ... .
   05
elementnamen datentyp.
C/C++ struct strukturdeklarationsname
{
   
datentyp elementname1;
    ... ;
   
datentyp elementnamen;
}
strukturname;
/370-Assembler
strukturname    DS   0CLlaenge
elementname1    DS   CLlaenge
...
elementnamen    DS   CLlaenge

Ansprechen eines Strukturelements:

PL/I strukturname.elementnamei      oder      elementnamei
Cobol elementnamei
C/C++ strukturname.elementnamei
/370-Assembler elementnamei



Weiter
zum nächsten Kapitel
Zurück
zum vorherigen Kapitel
zum Anfang dieses Kapitels
zum Inhaltsverzeichnis