Zeiger in C: NULL vs. 0
In den frühen Stadien von C war die Verwendung von NULL als Nullzeiger beschränkt Leere Zeiger, was es weniger praktisch macht. Infolgedessen übernahmen Programmierer die Konvention, 0 (Null) zur Darstellung von Nullzeigern zu verwenden.
Trotz der Einführung von NULL als benannte Darstellung von 0 bleibt die Debatte darüber, welche Verwendung verwendet werden soll, bestehen. Einige Programmierer plädieren für 0 und verweisen auf die Möglichkeit, Zeiger mithilfe logischer Operatoren als Wahrheitswerte zu testen (z. B. if (p && !q) do_something()). Sie behaupten, dass die Verwendung von NULL explizite Vergleiche mit NULL erfordern würde oder sich auf die Annahme verlassen würde, dass NULL gleich Null ist.
Andere plädieren für NULL und stimmen mit Bjarne Stroustrups Ansicht überein, dass es sich lediglich um einen ästhetischen Unterschied handele, da NULL als 0 definiert sei in C. Stroustrup weist auch auf die Gefahr von Verwirrung hin, wenn NULL fälschlicherweise als von 0 verschieden oder als nicht ganzzahlig angesehen wird.
Während beide Ansätze diskutiert werden können, rät Stroustrup dazu, sich nicht zu sehr um kleinere Details zu kümmern. Im Zeitalter von RAII und Ausnahmen werden Nullzeiger seltener verwendet, aber ihre gelegentliche Notwendigkeit bleibt bestehen.
Für diejenigen, die eine benannte Darstellung bevorzugen, hat C 11 nullptr als designiertes Schlüsselwort für Nullzeiger eingeführt. Diese Empfehlung dient der Unterscheidung von Nullzeigern von anderen ganzzahligen Werten und eliminiert Verwechslungsgefahr. Letztendlich hängt die Wahl zwischen NULL und 0 oder nullptr von den persönlichen Vorlieben ab, da es keine objektive Überlegenheit zwischen den beiden Ansätzen gibt.
Das obige ist der detaillierte Inhalt vonC-Zeiger: NULL, 0 oder nullptr – Welche sollte ich verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!