Frage zum Nullzeiger
-
Eine Frage zum Nullzeiger.
Wozu benutzt man *ptr=NULL ? Das ist keine Initialisierung, oder?
Wie kann man Pointer am besten initialisieren?
Danke.
-
Sunset schrieb:
Eine Frage zum Nullzeiger.
Wozu benutzt man *ptr=NULL ? Das ist keine Initialisierung, oder?
Wie kann man Pointer am besten initialisieren?
Danke.
Doch das ist eine Initialisierung.
Das benutzt du, wenn du noch nicht weißt, worauf dein Zeiger zeigen soll.
Am besten weißt du immer worauf dein Zeiger zeigen soll und initialisierst ihn mit dem, auf was er zeigen soll.
-
In C++ ist die Nutzung des Nullzeigers nur noch sehr selten sinnvoll/notwendig. In C hat man den z.B. noch genutzt um so etwas wie optionale Funktionsparameter zu realisieren.
-
TNA schrieb:
In C hat man den z.B. noch genutzt um so etwas wie optionale Funktionsparameter zu realisieren.
Ja, in C war alles schlechter!!!
-
c=schlecht schrieb:
TNA schrieb:
In C hat man den z.B. noch genutzt um so etwas wie optionale Funktionsparameter zu realisieren.
Ja, in C war alles schlechter!!!
Watt willst du denn hier?!
-
Skym0sh0 schrieb:
c=schlecht schrieb:
TNA schrieb:
In C hat man den z.B. noch genutzt um so etwas wie optionale Funktionsparameter zu realisieren.
Ja, in C war alles schlechter!!!
Watt willst du denn hier?!
Mir geht das andauernde C-Bashing auf die Nerven. Ist die gleiche Reaktion wie bei den Javalern: Wenn irgendwas schlecht ist, ist C schuld.
Zumal die Aussage sehr fragwürdig ist. Optionale Funktionsparameter sind in C++ auch nicht sehr beliebt. Nullzeiger haben in C++ zusätzlich durch nullptr Untersützung gekriegt. In C gibt es keinen Grund, optionale Funktionsparameter nachahmen zu wollen.
-
Unabhängig vom Wahrheitsgehalt deiner Aussage:
TNA schrieb:
In C++ ist die Nutzung des Nullzeigers nur noch sehr selten sinnvoll/notwendig. In C hat man den z.B. noch genutzt um so etwas wie optionale Funktionsparameter zu realisieren.
Wo ist das eine Wertung für oder gegen C?
Ich meine, wir alle kennen diese fetten Funktionen z.B. der WINAPI, die da mindestens 20 parameter haben wollen, aber öfters einfach nur 10mal NULL bekommen. Ob das gut oder schlecht ist, sei hier mal dahingestellt. Aber es gibt sowas wie optionale Parameter (auch wenn sie nicht unbedingt vom Compiler geprüft werden können). Und NULL (oder vllt auch nullptr) nutzt man halt dafür.
Und genau das hat TNA doch "nur" gesagt. Er hat nicht gesagt, dass C gut oder schlecht ist. (Oder verlese ich mich da?! oO)
-
Sunset schrieb:
Wozu benutzt man *ptr=NULL ?
Kann man so nicht sagen, hängt davon ab, was ptr genau ist...
Sunset schrieb:
Das ist keine Initialisierung, oder?
Kann man so nicht sagen; das ist nichtmal ein fertiges Statement, da fehlt zumindest ein ;, in welchem Fall es dann wiederum davon abhängt, was ptr genau ist...
Sunset schrieb:
Wie kann man Pointer am besten initialisieren?
Mit dem jeweils passenden Wert...
-
Skym0sh0 schrieb:
Und genau das hat TNA doch "nur" gesagt. Er hat nicht gesagt, dass C gut oder schlecht ist. (Oder verlese ich mich da?! oO)
Exakt so war es gemeint. Nur eine Tatsache ohne Wertung. Offenbar muss "c=schlecht" noch etwas daran arbeiten, seinen Beißreflex zu kalibrieren.