Kostenloser Elektrotechnik VIDEO-Kurs


Grundlagen der Elektrotechnik, Gleichstromnetze und Berechnungsverfahren
Wechselstrom- und Drehstromnetze, elektrische Maschinen und Regelungstechnik
Digitaltechnik, Mikrocontrollertechnik und C-Programmierung


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

Elektrotechnik muss nicht kompliziert sein.
Deshalb gibt es VIDEO-Tutorials.

Hat Dir der Artikel geholfen? - Dann hilf dem Artikel ;-)

Pointer in C:
1 Star2 Stars3 Stars4 Stars5 Stars
4,75 von 5 Punkten, basieren auf 12 abgegebenen Stimmen.
Stimme jetzt ab ! (auf die Sternchen klicken)
Loading ... Loading ...


Fragen und Antworten zu diesem Artikel und zu anderen Themen findest Du im ET-Tutorials Forum

Ähnliche Artikel

Folgende Artikel aus der gleichen Kategorie könnten Dich ebenfalls interessieren:

Pointer in C – Lösung der Aufgabe In der vergangenen Folge gab es bereits eine kleine Einführung in das Thema Pointer in C. Heute werd...

Pointer in C – Lösung und Spielereien Nachdem ich die letzte Folge über Pointer und Arrays mit einer kleinen Aufgabe beendet habe, wird es...

Anwendung von Pointern – Bubblesort Heute wird es wieder praktisch: Es geht um Sortierung mit Bubblesort.Es gibt verschiedene Möglichkei...

Pointer und Arrays In einem der vorherigen Artikeln hatten wir schon einmal Arrays kennengelernt. Arrays sind nichts a...

Funktionen in C, Globale und lokale Variablen Was wären Funktionen doch langweilig, wenn sie immer nur das gleiche machen würden. Um Programme eff...