Sign in Join
Wiki copytemporary

Revision 1 of 4, by WikiArchive on 11-4-2026. The page as it is now.

Array/de


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

=Eigenschaften von Arrays=


=Eindimensionale Arrays=

Eigenschaften von eindimensionalen Arrays


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

pascal
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).

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

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

pascal
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

pascal
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


==Statisches Mehrdimensionales Array (=Array mit fester Größe)== Als Beispiel dient ein zweidimensionales Array:\

pascal
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).

pascal
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:\

pascal
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:\

pascal
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)


From the Free Pascal wiki, page "Array/de", as it stood on 2019-12-23 after a change by Trev, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.