In C gibt es void
, void
Zeiger und NULL
Zeiger.
void
ist Abwesenheit des Typs . I.E. Eine Funktion, die einen void
-Typ zurückgibt, ist eine Funktion, die nichts zurückgibt. void
Zeiger: ist ein Zeiger auf einen Speicherort, dessen Typ kann alles sein: eine Struktur, ein int, ein float, Sie nennen es. NULL
-Zeiger ist ein Zeiger auf die Position 0x00
, dh keine Position. Auf nichts zeigen. Beispiele:
void
Funktion:
void
Zeiger:
NULL
Zeiger:
void
ist ein Datentyp. void*
ist nur ein Zeiger auf einen nicht definierten Typ. A void*
kann auf einen beliebigen Speicherort gesetzt werden. Ein NULL-Zeiger ist ein beliebiger Zeiger, der auf NULL (0) gesetzt ist.
Also, sie sind anders, weil ein void-Zeiger ein Datentyp ist und ein NULL-Zeiger auf irgendeinen Zeiger verweist, der auf NULL gesetzt ist.
Zeiger auf void ist ein Zeiger auf einen nicht angegebenen Typ. Ie. Nur ein Zeiger. Es kann immer noch ein gültiger Zeiger sein, aber wir wissen nicht, worauf es hinweist (zB. Eine Funktion könnte einen void-Zeiger als Parameter annehmen und dann den Typ nach einem anderen Parameter interpretieren)
NULL ist ein 'leerer' Zeiger. Nicht gültig, kann verwendet werden, um einen Zeiger auf nichts / nicht gesetzt anzugeben. Es ist ein Wert, während void ein Typ ist.