Pointer und Arrays

In einem der vorherigen Artikeln hatten wir schon einmal Arrays kennengelernt.

Arrays sind nichts anderes als ein Feld mit Variablen gleichen Typs.

So erzeugt beispielsweise die Anweisung

int arr [10];

ein Feld mit 10 Integerwerten, die ich mit arr[0] bis arr[9] ansprechen kann.

Der Name des Arrays ist dabei ein Zeiger auf dieses Feld und zeigt auf das erste Feld des Arrays.

Man kann also den Namen des Arrays einem Pointer des gleichen Typs zuordnen und dann anschließend den Pointer dereferenzieren um den Inhalt zu erhalten.

Desweiteren ist es möglich, den Pointer zu inkrementieren, um so auf den nächsten Eintrag des Arrays zu verweisen.

Im folgenden Video zeige ich den Zusammenhang zwischen Array und Pointer an einem Beispiel.

Deine Aufgabe

Und hier nun wie im Video versprochen die 5 Zeilen Code.

i_ptr=Array;
for ( i=0;  i<10; i++)
{
printf(„%d\n“,*i_ptr++);

}

Anmerkung: i ist eine Variable vom Typ integer, die selbstverständlich noch vorher definiert werden muss.

  • Versuche einmal herauszufinden, was dieser Code genau macht und warum.
  • Überlege zunächst, bevor Du den Code compilierst und ausprobierst.

Im nächsten Artikel gibt es ein paar Anmerkungen zu diesen Zeilen.

Dieser Artikel ist Teil des Mikrocontroller-Kurses auf ET-Tutorials.de.
[ >> Hier geht es zurück zur Übersichtsseite des Mikrocontroller-Kurses .]