Sign in Join
Wiki copytemporary

Array/de: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: Array/de

OldNewLine
1+\
2+Zurück zu den [[Data type/de|Datentypen]].\
3+Zurück zu den [[Reserved words/de|reservierten Wörtern]].\
4+\
5+=Eigenschaften von Arrays=
6+
7+- Ein Array ist eine Gruppe von Datenfeldern desselben Datentyps.\
8+- Ein Array kann aus allen einfachen Datentypen sowie aus Records und Klassen gebildet werden.\
9+- Es gibt zwei Typen von Arrays:\
10+ * eindimensionale Arrays\
11+ * mehrdimensionale Arrays\
12+
13+\
14+=Eindimensionale Arrays=
15+
16+## Eigenschaften von eindimensionalen Arrays
17+
18+- Ein eindimensionales Array hat immer nur eine Dimension.\
19+- Ein Element des eindimensionalen Arrays wird mit dem Namen des Arrays und der Position im eindimensionalen Array angesprochen.\
20+ * Beispiel: Arrayname\[Position\]\
21+
22+\
23+==Statisches eindimensionales Array (=Array mit fester Größe)==
24+
25+``` pascal
26+var
27+ arrInt1: array[0..2] of Integer; // Das statische Array besteht aus 3 Elementen
28+ arrInt2: array[1..3] of Integer; // Das statische Array besteht aus 3 Elementen
29+ arrInt3: array[8..10] of Integer; // Das statische Array besteht aus 3 Elementen
30+```
31+
32+\
33+Grafische Darstellung des Arrays arrInt1:\
34+_____________________________________\
35+\| 0 \| 1 \| 2 \|\
36+\
37+Grafische Darstellung des Arrays arrInt2:\
38+_____________________________________\
39+\| 1 \| 2 \| 3 \|\
40+\
41+Grafische Darstellung des Arrays arrInt3:\
42+_____________________________________\
43+\| 8 \| 9 \| 10 \|\
44+\
45+
46+## Statische Array als Konstante
47+
48+Man kann bei einer statischen auch Anfangswerte mitgeben (Konstante).
49+
50+``` pascal
51+const
52+ arr0: array[0..3] of integer = (1, 2, 3, 4);
53+```
54+
55+==Dynamisches eindimensionales Array (=Array mit veränderlicher Größe)==
56+
57+``` pascal
58+var
59+ arrInt: array of integer; // Das dynamische Array besteht aus 0 Elementen
60+begin
61+ SetLength(arrInt, 20); // Das Array wird auf eine Größe von 20 Elementen geändert
62+ SetLength(arrInt, 0) // Das Array wird auf eine Größe von 0 Elementen geändert
63+end;
64+```
65+
66+\
67+
68+### Zur Laufzeit initialisieren
69+
70+``` pascal
71+type
72+ TBA = array of byte;
73+var
74+ BA: TBA;
75+
76+begin
77+ BA := TBA.Create(5, 2, 3, 4, 1);
78+
79+ WriteLn(Length(BA)); // --> 5
80+ WriteLn(BA[2]); // --> 3
81+```
82+
83+\
84+
85+# Mehrdimensionale Arrays
86+
87+## Eigenschaften von Mehrdimensionalen Arrays
88+
89+- Ein mehrdimensionales Array kann beliebig viele Dimensionen haben.\
90+- Ein Element des mehrdimensionalen Arrays wird mit dem Namen des Arrays und der Position im mehrdimensionalen Array angesprochen.\
91+ * Beispiel: Arrayname\[PositionDimension1, PositionDimension2, PositionDimension...\]\
92+
93+\
94+==Statisches Mehrdimensionales Array (=Array mit fester Größe)== Als Beispiel dient ein zweidimensionales Array:\
95+
96+``` pascal
97+Var
98+ arrInt1: array[0..5, 0..2] of Integer; // Das statische Array besteht aus 6 Elementen von denen jedes 3 weitere Elemente enthält.
99+ arrInt2: array[4..9, 6..8] of Integer; // Das statische Array besteht aus 6 Elementen von denen jedes 3 weitere Elemente enthält.
100+```
101+
102+\
103+Grafische Darstellung des Arrays arrInt1:\
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+Grafische Darstellung des Arrays arrInt2:\
110+_________________________________________________________________________\
111+\| 4 \| 5 \| 6 \| 7 \| 8 \| 9 \|\
112+_________________________________________________________________________\
113+\| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \| 6 \| 7 \| 8 \|\
114+\
115+
116+## Statische Array als Konstante
117+
118+Man kann bei einer statischen auch Anfangswerte mitgeben (Konstante).
119+
120+``` pascal
121+const
122+ arr1: array[0..1, 0..3] of integer = ((1, 2, 3, 4), (5, 6, 7, 8));
123+```
124+
125+==Dynamisches mehrdimensionales Array (=Array mit veränderlicher Größe)==
126+
127+### Eine Dimension hat eine feste Größe
128+
129+Als Beispiel dient ein zweidimensionales Array:\
130+
131+``` pascal
132+var
133+ arrInt: array of array[0..1] of integer; // Erstellt ein zweidimensionales Array bei dem für die erste Dimension keine Elemente angegeben sind.
134+begin
135+ SetLength(arrInt, 5); // legt für erste Dimension eine Menge von 5 Elementen fest
136+end;
137+```
138+
139+\
140+
141+### Keine Dimension hat eine feste Größe
142+
143+Als Beispiel dient ein zweidimensionales Array:\
144+
145+``` pascal
146+var
147+ arrInt: array of array of Integer; // Erstellt ein zweidimensionales Array bei dem für die erste und die zweite Dimension keine Elemente angegeben sind.
148+ // Für jedes Element der ersten Dimension kann für die zweite Dimension eine individuelle Anzahl von Elementen angegeben werden.
149+
150+begin
151+ SetLength(arrInt, 5); // legt für erste Dimension eine Menge von 5 Elementen fest
152+ SetLength(arrInt[0], 7); // legt für die zweite Dimension des ersten Elements eine Menge von 7 Elementen fest
153+ SetLength(arrInt[1], 4); // legt für die zweite Dimension des zweiten Elements eine Menge von 4 Elementen fest
154+ // usw.
155+end;
156+```
157+
158+\
159+\
160+--Olaf 17:47, 19 October 2012 (UTC)
161+
162+---
163+*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).*
164+Category: Reserved words/de

Back to history