Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

C Grundkurs

Der Nullzeiger

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Wenn man mit Zeigern arbeitet, sollte man sie immer initialisieren. Zumindest sollte ein Absichern von Zeigerzugriffen mittels Initialisierung durch NULL und anschließendem Test erfolgen.
03:29

Transkript

In diesem Video wollen wir uns mit nicht initialisierten Zeigern beschäftigen und der Möglichkeit, einen 0-Wert, einen 0-Zeiger zu setzen, um diese kritischen Situationen kontrollieren zu können. Sie haben hier die Deklaration eines Pointers. Und hier greife ich auf die Adresse zu, die von diesem Pointer repräsentiert wird. Aber Sie sehen, dieser Pointer ist nicht initialisiert. Er zeigt irgendwie ins Nirwana. Ich kann dieses Projekt jeder Zeit übersetzen. Aber wenn ich es ausführen möchte, dann kriegen Sie ein Problem. Es ist ein zufälliger Wert, eine zufällige Adresse, die hier vom Pointer adressiert wird. Und da kann ich nicht so ohne Weiteres drauf zugreifen. Das macht überhaupt keinen Sinn, darauf zuzugreifen. Man kann jetzt diesen Pointer allerdings auf verschiedene Arten und Weisen erst einmal initialisieren. Eine Möglichkeit ist, den Wert NULL zu setzen. Und das Programm wird jetzt immer noch Schwierigkeiten haben, ausgeführt zu werden. Es wird auch wieder abstürzen. Aber ich kann überprüfen, ob der Zeiger den Wert NULL hat. Das heißt... (Schreibt auf Tastatur) Ich würde einen Zugriff nur dann durchführen, wenn der Zeiger nicht auf NULL verweist. Das heißt, wenn ich das jetzt noch einmal bilde, dann passiert nichts. Dann kommt keine Ausgabe, aber das Programm stürzt auch nicht ab. Das heißt, wenn ich jetzt eine weitere Variable habe... (Schreibt auf Tastatur) und lasse in einer späteren Phase von dem Programm diesen Zeiger auf diese Variable verweisen, kann ich danach problemlos auf diesen Wert hier zugreifen. Wir haben also in diesem Video besprochen, dass nicht initialisierte Pointer ein Riesenproblem sind. Compiler lassen nicht initialisierte Pointer in der Regel durch. Aber zur Laufzeit wird es ein Problem geben, - eigentlich immer - mit einer Schreibschutz Verletzung wenn Sie versuchen, auf den Wert zuzugreifen, der von diesem nicht initialisierten Pointer irgendwie rein zufällig adressiert wird. Um nicht initialisierte Pointer zu vermeiden, lassen Sie sie von Anfang an bereits auf die richtige Variable verweisen. Das ist eine Möglichkeit. Oder aber, sie initialisieren sie mit NULL einem Token. Beachten Sie, dass es wirklich vollständig groß geschrieben wird und überprüfen vor der Verwendung von diesem Pointer immer, ob der Pointer ein NULL ist, oder nicht. Und nur wenn er nicht NULL ist, dann führen Sie eine Aktion durch. Das ist eine Sicherungsmaßnahme, die sich bei C-Programmen in vielen Fällen empfiehlt.

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!