Array/de

From Lazarus wiki
Jump to navigationJump to search

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

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öße

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öße

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