391 Stimmen

Was ist der Unterschied zwischen NULL, ' \0 ' und 0?

In C scheint es Unterschiede zwischen verschiedenen Werten von Null zu geben -- NULL , NUL y 0 .

Ich weiß, dass das ASCII-Zeichen '0' wertet aus zu 48 o 0x30 .

Die NULL Zeiger ist in der Regel definiert als:

#define NULL 0

Ou

#define NULL (void *)0

Darüber hinaus gibt es die NUL Zeichen '\0' was anscheinend zu folgenden Ergebnissen führt 0 auch.

Gibt es Zeiten, in denen diese drei Werte nicht gleich sein können?

Gilt dies auch für 64-Bit-Systeme?

-2voto

shinxg Punkte 442

(void*) 0 ist NULL, und ' \0 ' steht für das Ende einer Zeichenkette.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X