Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C Grundkurs

Zeigerarithmetik bei Arrays

Testen Sie unsere 2016 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Ein Array ist nur ein strukturierter Bereich im RAM, auf dessen Elemente Zeiger indirekt verweisen. Man kann mittels eines Positionszeigers auf die Elemente des Arrays zugreifen oder unterschiedliche Zeigerarithmetik bei Arrays nutzen.
03:08

Transkript

In C besteht ein Array im Grunde nur aus Zeigern, welche auf die Variablen verweisen, die zu einem Array gehören. Wenn man mit der klassischen Zugriffstechnik, mit eckigen Klammern und einem Index auf ein Element zugreift, wird im Grunde indirekt ein Zeiger aufgerufen. In diesem Video wollen wir uns anschauen, wie wir explizit mit einem Positions- Zeiger in einem Array operieren. Wir haben hier ein Array. Das wird mit einer literalen Erzeugung, also mit diesem Array-Literal initialisiert und damit steht die Größe von diesem Array fest. Wir können dieses Array hier überprüfen über ein SIZEOF. Nun deklariere ich hier einen Zeiger. Erst einmal ist es ein ganz normaler Zeiger vom Typ INT. Sie sehen, hier sind auch INT im Array gespeichert. Aber das Spannende ist, dass dieser Zeiger dann auf das Array verweist. Genauer genommen verweist er auf den Beginn des Speicherbereichs, wo das Array anfängt. Und das ist das erste Element des Arrays. Und wenn man sich dann den Wert holt, der dort steht, dann wird man die 4 Byte bekommen, die ab dieser Stelle im Speicher stehen. Warum 4 Byte? Wir haben den Datentyp INT. Und dem entsprechend bedeutet das, nimm die nächsten 4 Byte. Das Spannende ist, dass ich jetzt diesen Zeiger weiter bewegen kann. Wenn ich ein ++ anwende, dann wird der Positions-Zeiger um 1 erweitert. Und das heißt, es geht 4 Byte weiter im Hauptspeicher. Und dann bekommt man eben den Wert, der im zweiten Array-Element steht. Wenn man jetzt weiß, wie groß das Array ist, also mit SIZEOF bestimmt, und wie groß der Datentyp INT ist, dann hat man die Anzahl der Elemente im Array. Und wenn ich jetzt die Position nehme, wo ich mich befinde und schiebe dann um genau so viele Stellen weiter, wie ich noch Platz habe im Array, dann komme ich zum letzten Element des Arrays. Ich muss hier -2 nehmen, weil ich 1 abziehen muss wegen der 0-Indizierung und eine weitere Verschreibungs-Position, weil ich hier schon einmal ++ gemacht habe. Wenn wir uns das ansehen, dann haben Sie das erste Array-Element, das zweite und das letzte. Das erste, das zweite, das letzte. Wir haben also in diesem Video gesehen, dass man so bei Arrays ganz nette Zeiger-Arithmetik betreiben kann. Inwieweit das notwendig ist, ist eine andere Sache. In manchen Fällen kann das sinnvoll sein. Normalerweise würde man aber bei Arrays die klassische Zugriffstechnik über die eckigen Klammern wählen.

C Grundkurs

Lernen Sie das Syntaxkonzept von C von Grund auf kennen vor und sehen Sie, wie mit einer geeigneten Entwicklungsumgebung Programme Schritt für Schritt entstehen.

4 Std. 36 min (70 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!