Variablen und Zeiger prüfen
-
Hi, ich wollte mal fragen, wie ich eine Variable respektive einen Zeiger prüfen kann, ob gültige Werte anliegen.
-
Variable: allg. nicht; musst du selbst für jeden Fall neue Richtlinien festlegen.
Zeiger: zumindest kannst du überprüfen, ob er 0 ist. für weitere Checks: siehe Variable
-
Und wie prüfe ich den Zeiger auf 0?
-
x* y; if (x == 0) // oder if (!x)
-
Das funzt nicht.
Hier mein Beispiel:int* p; if(!p) cout<<"null"<<endl;
aber das will nicht
-
der Zeiger ist ungültig, weil er nicht initialisiert ist. Das kannst du aber nicht prüfen, aber der Compiler sollte hier eine Warnung ausgeben. Das kann er aber nicht immer machen, z.B. nicht bei Zeigern als Funktionsparameter.
-
Ich habe diese Struktur, und nun will ich prüfen, ob ich am ende eines Zweiges bin oder nicht. Dazu muß ich doch den Zeiger auf das nächste Element prüfen, oder eine Variable mitschleppen.
struct node { int item; int tiefe; node *l, *r, *home; }; typedef node *link;
-
Initialisiere ihn mit 0 als Zeichen, dass er ungültig/ein Leaf ist.
-
Ok,