Sign in Join
Wiki copytemporary

Array/de: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Zurück zu den [[Data type/de|Datentypen]].\
22Zurück zu den [[Reserved words/de|reservierten Wörtern]].\
33
44=Eigenschaften von Arrays=
55
66- Ein Array ist eine Gruppe von Datenfeldern desselben Datentyps.\
77- Ein Array kann aus allen einfachen Datentypen sowie aus Records und Klassen gebildet werden.\
88- Es gibt zwei Typen von Arrays:\
99 * eindimensionale Arrays\
1010 * mehrdimensionale Arrays\
1111
1212=Eindimensionale Arrays=
1313
1414## Eigenschaften von eindimensionalen Arrays
1515
1616- Ein eindimensionales Array hat immer nur eine Dimension.\
1717- Ein Element des eindimensionalen Arrays wird mit dem Namen des Arrays und der Position im eindimensionalen Array angesprochen.\
1818 * Beispiel: Arrayname\[Position\]\
1919
2020==Statisches eindimensionales Array (=Array mit fester Größe)==
2121
2222``` pascal
2323var
2424 arrInt1: array[0..2] of Integer; // Das statische Array besteht aus 3 Elementen
2525 arrInt2: array[1..3] of Integer; // Das statische Array besteht aus 3 Elementen
2626 arrInt3: array[8..10] of Integer; // Das statische Array besteht aus 3 Elementen
2727```
2828
2929Grafische Darstellung des Arrays arrInt1:\
30-_____________________________________\
31-\| 0 \| 1 \| 2 \|\
3230
31+```
32+_____________________________________
33+| 0 | 1 | 2 |
34+```
35+
3336Grafische Darstellung des Arrays arrInt2:\
34-_____________________________________\
35-\| 1 \| 2 \| 3 \|\
3637
38+```
39+_____________________________________
40+| 1 | 2 | 3 |
41+```
42+
3743Grafische Darstellung des Arrays arrInt3:\
38-_____________________________________\
39-\| 8 \| 9 \| 10 \|\
4044
45+```
46+_____________________________________
47+| 8 | 9 | 10 |
48+```
49+
4150## Statische Array als Konstante
4251
4352Man kann bei einer statischen auch Anfangswerte mitgeben (Konstante).
4453
4554``` pascal
4655const
4756 arr0: array[0..3] of integer = (1, 2, 3, 4);
4857```
4958
5059==Dynamisches eindimensionales Array (=Array mit veränderlicher Größe)==
5160
5261``` pascal
5362var
5463 arrInt: array of integer; // Das dynamische Array besteht aus 0 Elementen
5564begin
5665 SetLength(arrInt, 20); // Das Array wird auf eine Größe von 20 Elementen geändert
5766 SetLength(arrInt, 0) // Das Array wird auf eine Größe von 0 Elementen geändert
5867end;
5968```
6069
6170### Zur Laufzeit initialisieren
6271
6372``` pascal
6473type
6574 TBA = array of byte;
6675var
6776 BA: TBA;
6877
6978begin
7079 BA := TBA.Create(5, 2, 3, 4, 1);
7180
7281 WriteLn(Length(BA)); // --> 5
7382 WriteLn(BA[2]); // --> 3
7483```
7584
7685# Mehrdimensionale Arrays
7786
7887## Eigenschaften von Mehrdimensionalen Arrays
7988
8089- Ein mehrdimensionales Array kann beliebig viele Dimensionen haben.\
8190- Ein Element des mehrdimensionalen Arrays wird mit dem Namen des Arrays und der Position im mehrdimensionalen Array angesprochen.\
8291 * Beispiel: Arrayname\[PositionDimension1, PositionDimension2, PositionDimension...\]\
8392
8493==Statisches Mehrdimensionales Array (=Array mit fester Größe)== Als Beispiel dient ein zweidimensionales Array:\
8594
8695``` pascal
8796Var
8897 arrInt1: array[0..5, 0..2] of Integer; // Das statische Array besteht aus 6 Elementen von denen jedes 3 weitere Elemente enthält.
8998 arrInt2: array[4..9, 6..8] of Integer; // Das statische Array besteht aus 6 Elementen von denen jedes 3 weitere Elemente enthält.
9099```
91100
92101Grafische Darstellung des Arrays arrInt1:\
93-_________________________________________________________________________\
94-\| 0 \| 1 \| 2 \| 3 \| 4 \| 5 \|\
95-_________________________________________________________________________\
96-\| 0 \| 1 \| 2 \| 0 \| 1 \| 2 \| 0 \| 1 \| 2 \| 0 \| 1 \| 2 \| 0 \| 1 \| 2 \| 0 \| 1 \| 2 \|\
97102
103+```
104+_________________________________________________________________________
105+| 0 | 1 | 2 | 3 | 4 | 5 |
106+_________________________________________________________________________
107+| 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 |
108+```
109+
98110Grafische Darstellung des Arrays arrInt2:\
99-_________________________________________________________________________\
100-\| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \|\
101-_________________________________________________________________________\
102-\| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \|\
111+
112+```
113+_________________________________________________________________________
114+| 4 | 5 | 6 | 7 | 8 | 9 |
115+_________________________________________________________________________
116+| 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 |
117+```
103118
104119## Statische Array als Konstante
105120
106121Man kann bei einer statischen auch Anfangswerte mitgeben (Konstante).
107122
108123``` pascal
109124const
110125 arr1: array[0..1, 0..3] of integer = ((1, 2, 3, 4), (5, 6, 7, 8));
111126```
112127
113128==Dynamisches mehrdimensionales Array (=Array mit veränderlicher Größe)==
114129
115130### Eine Dimension hat eine feste Größe
116131
117132Als Beispiel dient ein zweidimensionales Array:\
118133
119134``` pascal
120135var
121136 arrInt: array of array[0..1] of integer; // Erstellt ein zweidimensionales Array bei dem für die erste Dimension keine Elemente angegeben sind.
122137begin
123138 SetLength(arrInt, 5); // legt für erste Dimension eine Menge von 5 Elementen fest
124139end;
125140```
126141
127142### Keine Dimension hat eine feste Größe
128143
129144Als Beispiel dient ein zweidimensionales Array:\
130145
131146``` pascal
132147var
133148 arrInt: array of array of Integer; // Erstellt ein zweidimensionales Array bei dem für die erste und die zweite Dimension keine Elemente angegeben sind.
134149 // Für jedes Element der ersten Dimension kann für die zweite Dimension eine individuelle Anzahl von Elementen angegeben werden.
135150
136151begin
137152 SetLength(arrInt, 5); // legt für erste Dimension eine Menge von 5 Elementen fest
138153 SetLength(arrInt[0], 7); // legt für die zweite Dimension des ersten Elements eine Menge von 7 Elementen fest
139154 SetLength(arrInt[1], 4); // legt für die zweite Dimension des zweiten Elements eine Menge von 4 Elementen fest
140155 // usw.
141156end;
142157```
143158
144159--Olaf 17:47, 19 October 2012 (UTC)
145160
146161---
147162*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](/wiki-contact).*
148163Category: Reserved words/de

Back to history