Sign in Join
Wiki copytemporary

Array/de: what changed

Revision 3 to 4. 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:\
3030
31-```
31+```text
3232_____________________________________
3333| 0 | 1 | 2 |
3434```
3535
3636Grafische Darstellung des Arrays arrInt2:\
3737
38-```
38+```text
3939_____________________________________
4040| 1 | 2 | 3 |
4141```
4242
4343Grafische Darstellung des Arrays arrInt3:\
4444
45-```
45+```text
4646_____________________________________
4747| 8 | 9 | 10 |
4848```
4949
5050## Statische Array als Konstante
5151
5252Man kann bei einer statischen auch Anfangswerte mitgeben (Konstante).
5353
5454``` pascal
5555const
5656 arr0: array[0..3] of integer = (1, 2, 3, 4);
5757```
5858
5959==Dynamisches eindimensionales Array (=Array mit veränderlicher Größe)==
6060
6161``` pascal
6262var
6363 arrInt: array of integer; // Das dynamische Array besteht aus 0 Elementen
6464begin
6565 SetLength(arrInt, 20); // Das Array wird auf eine Größe von 20 Elementen geändert
6666 SetLength(arrInt, 0) // Das Array wird auf eine Größe von 0 Elementen geändert
6767end;
6868```
6969
7070### Zur Laufzeit initialisieren
7171
7272``` pascal
7373type
7474 TBA = array of byte;
7575var
7676 BA: TBA;
7777
7878begin
7979 BA := TBA.Create(5, 2, 3, 4, 1);
8080
8181 WriteLn(Length(BA)); // --> 5
8282 WriteLn(BA[2]); // --> 3
8383```
8484
8585# Mehrdimensionale Arrays
8686
8787## Eigenschaften von Mehrdimensionalen Arrays
8888
8989- Ein mehrdimensionales Array kann beliebig viele Dimensionen haben.\
9090- Ein Element des mehrdimensionalen Arrays wird mit dem Namen des Arrays und der Position im mehrdimensionalen Array angesprochen.\
9191 * Beispiel: Arrayname\[PositionDimension1, PositionDimension2, PositionDimension...\]\
9292
9393==Statisches Mehrdimensionales Array (=Array mit fester Größe)== Als Beispiel dient ein zweidimensionales Array:\
9494
9595``` pascal
9696Var
9797 arrInt1: array[0..5, 0..2] of Integer; // Das statische Array besteht aus 6 Elementen von denen jedes 3 weitere Elemente enthält.
9898 arrInt2: array[4..9, 6..8] of Integer; // Das statische Array besteht aus 6 Elementen von denen jedes 3 weitere Elemente enthält.
9999```
100100
101101Grafische Darstellung des Arrays arrInt1:\
102102
103-```
103+```text
104104_________________________________________________________________________
105105| 0 | 1 | 2 | 3 | 4 | 5 |
106106_________________________________________________________________________
107107| 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 | 0 | 1 | 2 |
108108```
109109
110110Grafische Darstellung des Arrays arrInt2:\
111111
112-```
112+```text
113113_________________________________________________________________________
114114| 4 | 5 | 6 | 7 | 8 | 9 |
115115_________________________________________________________________________
116116| 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 | 6 | 7 | 8 |
117117```
118118
119119## Statische Array als Konstante
120120
121121Man kann bei einer statischen auch Anfangswerte mitgeben (Konstante).
122122
123123``` pascal
124124const
125125 arr1: array[0..1, 0..3] of integer = ((1, 2, 3, 4), (5, 6, 7, 8));
126126```
127127
128128==Dynamisches mehrdimensionales Array (=Array mit veränderlicher Größe)==
129129
130130### Eine Dimension hat eine feste Größe
131131
132132Als Beispiel dient ein zweidimensionales Array:\
133133
134134``` pascal
135135var
136136 arrInt: array of array[0..1] of integer; // Erstellt ein zweidimensionales Array bei dem für die erste Dimension keine Elemente angegeben sind.
137137begin
138138 SetLength(arrInt, 5); // legt für erste Dimension eine Menge von 5 Elementen fest
139139end;
140140```
141141
142142### Keine Dimension hat eine feste Größe
143143
144144Als Beispiel dient ein zweidimensionales Array:\
145145
146146``` pascal
147147var
148148 arrInt: array of array of Integer; // Erstellt ein zweidimensionales Array bei dem für die erste und die zweite Dimension keine Elemente angegeben sind.
149149 // Für jedes Element der ersten Dimension kann für die zweite Dimension eine individuelle Anzahl von Elementen angegeben werden.
150150
151151begin
152152 SetLength(arrInt, 5); // legt für erste Dimension eine Menge von 5 Elementen fest
153153 SetLength(arrInt[0], 7); // legt für die zweite Dimension des ersten Elements eine Menge von 7 Elementen fest
154154 SetLength(arrInt[1], 4); // legt für die zweite Dimension des zweiten Elements eine Menge von 4 Elementen fest
155155 // usw.
156156end;
157157```
158158
159159--Olaf 17:47, 19 October 2012 (UTC)
160160
161161---
162162*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).*
163163Category: Reserved words/de

Back to history