(char*)0
-
Hi,
Anscheinend kann man (char*)0 stellvertretend für NULL verwenden. Doch der type-casting kann doch für NULL beliebig gemacht werden? Diese Sachen sind doch identisch oder:
(char*)0 = (short *)0 = (int *)0 = (float *)0 ...
Aber wieso nimmt man bei Funktionsargumenten, die NULL erwarten dann anstelle von NULL höchstens (char *)0 her?lg
-
0 ist 0 ist 0 ist 0
-
Anscheinend möchtest du es besser wissen, wer oder was NULL bedeutet und für Auswirkungen hat, als der Bauer des Compilers deiner Wahl.
NULL wird durch den C Sprachstandard festgelegt, die Implementierung ist Sache des Compilerbauers.Aber wieso nimmt man bei Funktionsargumenten, die NULL erwarten dann anstelle von NULL höchstens (char *)0 her?
Wenn du es so machen willst, ist das deine Sache. Ich bezweifle, dass du alle Randbedingungen und Auswirkungen kennst.
Außer dir nehmen nur Anfänger und Pfuscher statt des wohldefinierten NULL (char*)0 oder ähnlichen Unsinn in die Hand.
-
Nach dem Standard ist NULL als
#define NULL (void *) 0
definiert.
Auf http://www.dclc-faq.de/kap1.htm werden Dir Deine Fragen zu NULL ausführlich und freundlich erklärt.