Array/de

From Free Pascal wiki

Deutsch (de) English (en) español (es) suomi (fi) français (fr) Bahasa Indonesia (id) 日本語 (ja) русский (ru)

Zurück zu den Datentypen.
Zurück zu den reservierten Wörtern.

Eigenschaften von Arrays

  • Ein Array ist eine Gruppe von Datenfeldern desselben Datentyps.
  • Ein Array kann aus allen einfachen Datentypen sowie aus Records und Klassen gebildet werden.
  • Es gibt zwei Typen von Arrays:
    • eindimensionale Arrays
    • mehrdimensionale Arrays


Eindimensionale Arrays

Eigenschaften von eindimensionalen Arrays

  • Ein eindimensionales Array hat immer nur eine Dimension.
  • Ein Element des eindimensionalen Arrays wird mit dem Namen des Arrays und der Position im eindimensionalen Array angesprochen.
    • Beispiel: Arrayname[Position]


Statisches eindimensionales Array (=Array mit fester Größe)

var
  arrInt1: array[0..2] of Integer;  // Das statische Array besteht aus 3 Elementen
  arrInt2: array[1..3] of Integer;  // Das statische Array besteht aus 3 Elementen
  arrInt3: array[8..10] of Integer; // Das statische Array besteht aus 3 Elementen


Grafische Darstellung des Arrays arrInt1:

_____________________________________
| 0 | 1 | 2 |


Grafische Darstellung des Arrays arrInt2:

_____________________________________
| 1 | 2 | 3 |


Grafische Darstellung des Arrays arrInt3:

_____________________________________
| 8 | 9 | 10 |


Statische Array als Konstante

Man kann bei einer statischen auch Anfangswerte mitgeben (Konstante).

const
  arr0: array[0..3] of integer = (1, 2, 3, 4);

Dynamisches eindimensionales Array (=Array mit veränderlicher Größe)

var
  arrInt: array of integer; // Das dynamische Array besteht aus 0 Elementen
begin
  SetLength(arrInt, 20); // Das Array wird auf eine Größe von 20 Elementen geändert
  SetLength(arrInt,  0)  // Das Array wird auf eine Größe von  0 Elementen geändert
end;


Zur Laufzeit initialisieren

type
  TBA = array of byte;
var
  BA: TBA;

begin
  BA := TBA.Create(5, 2, 3, 4, 1);

  WriteLn(Length(BA));  // --> 5
  WriteLn(BA[2]);       // --> 3


Mehrdimensionale Arrays

Eigenschaften von Mehrdimensionalen Arrays

  • Ein mehrdimensionales Array kann beliebig viele Dimensionen haben.
  • Ein Element des mehrdimensionalen Arrays wird mit dem Namen des Arrays und der Position im mehrdimensionalen Array angesprochen.
    • Beispiel: Arrayname[PositionDimension1, PositionDimension2, PositionDimension...]


Statisches Mehrdimensionales Array (=Array mit fester Größe)

Als Beispiel dient ein zweidimensionales Array:

Var
  arrInt1: array[0..5, 0..2] of Integer; // Das statische Array besteht aus 6 Elementen von denen jedes 3 weitere Elemente enthält.
  arrInt2: array[4..9, 6..8] of Integer; // Das statische Array besteht aus 6 Elementen von denen jedes 3 weitere Elemente enthält.


Grafische Darstellung des Arrays arrInt1:

_________________________________________________________________________
| 0 | 1 | 2 | 3 | 4 | 5 |
_________________________________________________________________________
| 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 |


Grafische Darstellung des Arrays arrInt2:

_________________________________________________________________________
| 4 | 5 | 6 | 7 | 8 | 9 |
_________________________________________________________________________
| 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 |


Statische Array als Konstante

Man kann bei einer statischen auch Anfangswerte mitgeben (Konstante).

const
  arr1: array[0..1, 0..3] of integer = ((1, 2, 3, 4), (5, 6, 7, 8));

Dynamisches mehrdimensionales Array (=Array mit veränderlicher Größe)

Eine Dimension hat eine feste Grösse

Als Beispiel dient ein zweidimensionales Array:

var
  arrInt: array of array[0..1] of integer; // Erstellt ein zweidimensionales Array bei dem für die erste Dimension keine Elemente angegeben sind.
begin
   SetLength(arrInt, 5);  // legt für erste Dimension eine Menge von 5 Elementen fest
end;


Keine Dimension hat eine feste Grösse

Als Beispiel dient ein zweidimensionales Array:

var
  arrInt: array of array of Integer; // Erstellt ein zweidimensionales Array bei dem für die erste und die zweite Dimension keine Elemente angegeben sind.
                                     // Für jedes Element der ersten Dimension kann für die zweite Dimension eine individuelle Anzahl von Elementen angegeben werden.

begin
   SetLength(arrInt, 5);    // legt für erste Dimension eine Menge von 5 Elementen fest
   SetLength(arrInt[0], 7); // legt für die zweite Dimension des ersten Elements eine Menge von 7 Elementen fest
   SetLength(arrInt[1], 4); // legt für die zweite Dimension des zweiten Elements eine Menge von 4 Elementen fest
   // usw.
end;



--Olaf 17:47, 19 October 2012 (UTC)

Datentypen
Einfacher Datentyp Boolean | Byte |Cardinal | Char | Currency | Extended | Int64 | Integer | Longint | Pointer | Real | Shortint | Smallint | Word
Zusammengesetzter Datentyp Array | Class | Record | Set | String | ShortString