Wenn man jetzt jedoch mehrere Werte speichern möchte müsste man für jeden Wert eine eigene Variable erstellen. Da dies jedoch nicht sehr effizient ist gibt es dafür eine andere Methode – und zwar mit dem Array.

Ein Array ist eine spezielle Art der Variable. Sie kann gleich mehrere Werte eines Datatypes speichern.

Stell Dir ein Array wie eine nummerierte Tabelle vor. Um jetzt auf einen Wert zuzugreifen muss man die jeweilige Nummer für den Wert angeben. Diese Nummer wird auch Index genannt und fängt in einem Array bei 0 an.

Index

Element

0

 

1

 

2

 

3

 

4

 

5

 














Auch ein Array muss angelegt (deklariert) werden. Dazu gibt es mehrere Möglichkeiten.

So deklariert man ein leeres Array, des Types int, ohne Wertzuweisung

int zahlen[6];


Hier wird ein Array mit dem Namen „zahlen“ angelegt. Der Variablentyp ist int. Arrays können immer nur Werte vom gleichen Typ speichern.
Hier also Werte des Types int (ganzzahlige Werte).
Die 6 in den eckigen Klammern bedeutet, dass sozusagen die Tabelle sechs Einträge hat. Man nennt das die Länge des Arrays.




Eine andere Möglichkeit ein Array anzulegen, geht so:

int zahlen[] = {24, 14, 5, 12, 26, 11}; 

Hier werden dem Array Werte direkt zugewiesen und deshalb muss man die Länge das Arrays nicht extra in die eckigen Klammern schreiben.


Index

Element

0

24

1

14

2

5

3

12

4

26

5

11










Möchte man jetzt einen Wert ändern, so würde man es eigentlich genau wie bei einer normale Variable schreiben, nur dass wir jetzt noch den Index, für den Punkt, den man ändern will, mit angeben müssen.

zahlen[2] = 30;

Index

Element

0

24

1

14

2

30

3

12

4

26

5

11









Doch wie liest man jetzt Werte aus dem Array wieder aus? Möchte man z.B. den Wert der dritten Stellen auslesen (also Index: 2) so würde man folgendes schreiben.

int foo = zahlen[2];

So hat die Variable foo jetzt den Wert des dritten Elements des Arrays.



Code: Ausgabe im seriellen Monitor:
void setup() 
{
  Serial.begin(9600);
  int zahlen[] = {24, 14, 5, 12, 26, 11};
  zahlen[2] = 30;
  int foo = zahlen[2];
  Serial.println(foo);
}

void loop() 
{

}
Arrays Ausgabe
Abbildung 2: Ausgabe
Quelle: BBS2 Wolfsburg

Zuletzt geändert: Donnerstag, 18. Februar 2021, 09:11