Pointer in C

Nun kommen wir zu einem Thema, für das die Programmiersprache C berühmt, berüchtigt und teilweise auch gefürchtet ist.

Es geht um Pointer.

Ich weiß nicht, warum viele Programmierer solche Angst vor Pointern haben und deshalb zu viel Respekt vor der Programmiersprache C haben. Und aus diesem Grund erst gar nicht in C programmieren wollen.

Denn

  1. Ist das Programmieren mit Pointer gar nicht so schwer, wenn man ohne Vorbehalt an das Thema rangeht und
  2. kann man mit Pointern viele Dinge tun, die man mit anderen Programmiersprachen erst gar nicht machen kann. Statt auf eine weniger  mächtige Programmiersprache zu wechseln, könnte man dann auch einfach in C programmieren ohne Pointer zu verwenden 😉

Wie ich unter 1. aber schon geschrieben habe, braucht man aber keine Angst vor Pointer zu haben.

Was sind Pointer

In diesem Artikel beginnen wir erst einmal damit, zu klären, was Pointer eigentlich sind.

Pointer sind nichts anderes als Variablen, in denen man keine Zahlenwerte, sondern Speicheradressen abspeichert. Man kann also beispielsweise eine Speicheradresse einer Integervariablen in einem Pointer abspeichern.

Der Name Pointer (engl. Zeiger) ist passend gewählt, weil ein Pointer auf eine Adresse zeigt.

Ein Pointer zeigt auf eine Adresse und wird daher häufig auch als Referenz bezeichnet

Man nennt dieses „Zeigen auf eine Adresse“ daher auch Referenzieren.

Wenn man einen Pointer gegeben hat und den Inhalt der Speicheradresse, auf die der Pointer zeigt nennt man das Dereferenzieren.

Das Video zum Pointer

Im folgenden Video zeige ich zunächst an einem konkreten Beispiel, wie man sich das Zeigen eines Pointers auf eine Speicherstelle vorstellen kann. Wie also das Referenzieren und Dereferenzieren im Speicher aussieht.

Anschließend zeige ich, wie die Syntax zu Pointern aussieht.

Man kann sich diese Syntax eigentlich sehr leicht merken.

& bedeutet Adresse von

* Bedeutet Inhalt von

Abschließend zeige ich die einfache Verwendung von Pointern in der Entwicklungsumgebung.

Deine Aufgabe

Du solltest jetzt die Verwendung von Pointer selbst üben.

Programmier dazu zunächst einmal selbst das Beispiel aus dem Video

Stell Dir eigene Aufgaben, z.B.

  1. Definiere zwei Integer-Variablen i und j und weise den Variablen Werte zu.
  2. Definiere zwei Pointer auf Integerervariable und lasse diese Pointer auf die Variablen zeige.
  3. Addiere die Werte der Variablen, indem Du NICHT die Variablen verwendest, sondern über die Pointer gehst und gebe die Summe mit printf aus.

Im nächsten Video zeige ich dann eine mögliche Lösung.

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

weitere Videos

Juli 21, 2011

April 12, 2010

September 17, 2010

April 6, 2010

August 9, 2011

Februar 18, 2010

>