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

Wolfgang Bengfort

Wolfgang Bengfort (Dipl.-Ing. Elektrotechnik) unterrichtet nach 10-jähriger Berufstätigkeit in der freien Wirtschaft seit 2003 die Fächer Elektrotechnik und Informatik an berufsbildenden Schulen.  Er ist Gründer und Betreiber der Elektrotechnik eLearning Plattformen ET-Tutorials und ET-Akademie.

weitere Videos

August 29, 2011

Mai 10, 2010

September 8, 2011

März 2, 2010

Juni 14, 2011

Oktober 7, 2011