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.

Pointer und Arrays.flv

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 .]

weitere Videos

Juni 15, 2010

Juni 29, 2010

Juni 7, 2011

März 30, 2010

Dezember 21, 2010

Oktober 5, 2011

>