Feld (Datentyp): Unterschied zwischen den Versionen

aus GlossarWiki, der Glossar-Datenbank der Fachhochschule Augsburg
Keine Bearbeitungszusammenfassung
Zeile 72: Zeile 72:
[[Kategorie:Container]]
[[Kategorie:Container]]
[[Kategorie:Glossar]]
[[Kategorie:Glossar]]
{{{{SITENAME}}-konformer Artikel}}
{{Quellenangaben verbessern
| Anmerkung1 = Die fehlende Quelle sollte erfasst werden.
}}

Version vom 5. September 2011, 15:11 Uhr

Definition

Ein Feld oder Array ist ein spezieller Container, der endlich viele Elemente zu einer durchnummerierten Folge zusammenfasst. Dabei wird dem ersten Element der Folge im Allgemeinen die Poistion 0 (null-basierte Zählweise) oder die Position 1 (eins-basierte Zählweise) zugeordnet.

Ein Feld hat i. Allg. dauerhaft eine feste Länge. Das heißt, die Zahl der Elemente, die in einem Feld gespeichert werden können, wird bei der Erzeugung des Feldes festgelegt und kann nachträglich i. Allg. nicht mehr geändert werden.

Bemerkungen

Der Begriff Array wird nicht einheitlich gebraucht. In einigen Programmiersprachen, wie z.B. ActionScript oder Lingo, verhalten sich Arrays eher wie Listen, als wie Felder.

Auf ein Element eines Feldes kann direkt zugegriffen werden, wenn seine Position im Feld bekannt ist. Üblicherweise geschieht der Zugriff mit Hilfe des so genannten Indexoperators [].

 var a := ["r", "s", "t"];  // Definition eines neuen Feldes in Pseudo-Code
 print(a[1]);               // Ergebnis: "s", wenn die Positionsnummer des ersten Elements 0 ist
                            // Ergebnis: "r", wenn die Positionsnummer des ersten Elements 1 ist

Mit Hilfe einer For-Schleife kann auf alle Elemente eines Feldes nacheinander zugegriffen werden:

 var a := ["r", "s", "t"];  // Definition eines neuen Feldes in Pseudo-Code
 for i := 0 to a.length -1
   print a[i];

Es kann darüber hinaus spezielle Operatoren wie z.B. For-each-Schleifen geben, mit denen nacheinander auf alle Elemente eines Array zugegriffen werden kann.

In vielen Programmiersprachen ist es möglich, den Datentyp der Elemente eines Feldes zu beschränken:

 String[5], Array<3,Integer> ... // längenbeschränkte und typisierte Felder in Pseudocode, zwei alternative Schreibweisen

Ein Feld, das andere Felder als Elemente hat, wird mehrdimensionales Feld genannt:

 String[5][6][3]              // drei-dimensionales typisiertes Feld mit 5*6*3 Elementen in Pseudocode 
 Array<8, Array<8, String>>   // zwei-dimensionales typisiertes Feld mit 8*8 Elementen in Pseudocode (alternative Schreibweise)

Beispiele

eindimensionales Array

Ein eindimensionales Array kann z.B. einen Vektor darstellen.

 vektor: Integer[3] := [0,1,-4];

zweidimensionales Array

Ein zweidimensionales kann z.B. eine Matrix darstellen.

matrix: Integer[5][5] 
  := [[0,0,0,0, 0],
      [0,0,7,0, 0],
      [1,1,1,1, 0],
      [0,2,0,0,-4],
      [0,0,0,0,-3]
     ]

Quellen

  1. Schneider, U.; Werner, D. (2001): Taschenbuch der Informatik
  2. Kowarschick, W.: Multimedia-Programmierung

Siehe auch