Felder (Arrays)
Felder sind Datenstrukturen, die dir erlauben, mehrere Werte mit dem gleichen Datentyp in einer Variable zu speichern.
Eigenschaften
- Ein Feld hat immer eine fixe Größe, die später nicht geändert werden kann.
- Alle Werte in einem Feld haben den gleichen Datentyp.
- Felder liegen lückenlos im Speicher.
Syntax
Initialisierung
┌───────┐
datentyp name[große] = {1, 2, 3};
└──────────────────┘
Deklaration
Die große ist die Anzahl von Elementen die in dem Feld passen sollen.
| 1 | 2 | 3 |
Zugriff && Zuweisung
name[index] = 18; // Zuweisung
int a = name[index]; // Zugriff
Der index beginnt von 0 und gibt an, in welcher Position zugegriffen werden soll.
| Index: | 0 | 1 | 2 |
|---|---|---|---|
| Element: | 1 | 2 | 3 |
Initialisierung
…mittels schleifen
#define SIZE 5
int numbers[SIZE];
for (int i = 0; i < SIZE; i++) {
numbers[i] = i + 1;
}
…mittels Initialisierungsblock
int numbers[5] = {1, 2, 3, 4, 5}; // => {1, 2, 3, 4, 5}
int numbers[5] = {0}; // => {0, 0, 0, 0, 0}
int numbers[5] = {1, 2, 3}; // => {1, 2, 3, 0, 0}
int numbers[5] = {1, 2, 3, 4, 5, 6}; // => ERROR, Funktioniert nicht, zu groß
int numbers[] = {1, 2, 3, 4, 5}; // => Compiler ermittelt Größe vom Wert der Variable
Ausgabe
#define SIZE 5
int numbers[SIZE] = {1, 2, 3, 4, 5};
for (int i = 0; i < SIZE; i++) {
printf("%d ", numbers[i]); // 1 2 3 4 5
}