C-Programmierung

Null-Pointer

Call-By-Reference | | Einsatz des Null-Pointers

Der sogenannte NULL-Pointer ist niemals dereferenzierbar. Er entspricht der Speicheradresse 0. Ein Zugriff auf diese Adresse erzeugt immer eine Speicherverletzung.

Der NULL-Pointer ist überlicherweise als Präprozessorkonstante vordefiniert (z.B in <stddef.h>):

#define NULL 0

Es ist besser die Konstante NULL anstelle von 0 zu verwenden, um zu signalisieren, dass ein Zeiger gemeint ist und nicht der Ganzzahlwert 0.

Mit dem Null-Pointer signalisiert man einen ungültigen Pointer, also einen Pointer, der auf kein Objekt zeigt.

Im Fall eines ungültigen Pointers schlägt der NULL-Pointer Test fehl:

if (pointer)   /* null pointer test */
   *pointer=...; /* test succeeds */


Call-By-Reference | | Einsatz des Null-Pointers

Options: