Wenn man in C/C++ oder Arduino mehrere zusammengehörende Werte speichern will, stößt man schnell auf Arrays und Structs.
Arrays eignen sich hervorragend, um viele Daten gleichen Typs – etwa eine Liste von Zahlen oder Sensorwerten – kompakt zu verwalten.
Structs hingegen erlauben es, verschiedene Datentypen logisch unter einem Dach zu bündeln, zum Beispiel die Daten eines Sensors mit Name, Messwert und Status.
Besonders spannend wird es, wenn man Arrays von Structs anlegt: So kann man ganze „Sammlungen“ komplexer Objekte speichern und flexibel verarbeiten – etwa mehrere Motoren, LEDs oder Sensoren in einem Arduino-Projekt.
1. Arrays
Ein Array ist eine Sammlung von Werten des gleichen Typs, die unter einem Namen gespeichert werden.
Beispiel:
int zahlen[5]; // Array für 5 ganze Zahlen
zahlen[0] = 10; // erstes Element
zahlen[1] = 20; // zweites Element
int zahlen[5] = {10, 20, 30, 40, 50}; // oder geich initalisierenWichtig:
- Indizes beginnen bei 0.
zahlen[5]hat also Elemente vonzahlen[0]biszahlen[4].
2. Structs
Ein Struct (Struktur) ist ein Datentyp, der verschiedene Werte zusammenfasst, die logisch zusammengehören.
Beispiel:
struct Person {
String name;
int alter;
float groesse;
};Jetzt kannst du Variablen dieses Typs erstellen:
Person p1;
p1.name = "Anna";
p1.alter = 25;
p1.groesse = 1.70;3. Arrays von Structs
Du kannst auch Arrays von Structs erstellen, um mehrere Objekte zusammen zu speichern.
Beispiel:
Person personen[3]; // Array für 3 Personen
personen[0].name = "Anna";
personen[0].alter = 25;
personen[0].groesse = 1.70;
personen[1].name = "Ben";
personen[1].alter = 30;
personen[1].groesse = 1.80;
personen[2].name = "Clara";
personen[2].alter = 22;
personen[2].groesse = 1.65;Oder gleich beim Erstellen initialisieren:
Person personen[3] = {
{"Anna", 25, 1.70},
{"Ben", 30, 1.80},
{"Clara", 22, 1.65}
};4. Zugriff
- Einzelnes Element:
personen[1].name→"Ben" - Mit Schleife über Array iterieren:
for(int i = 0; i < 3; i++){
Serial.println(personen[i].name);
}


