javaanfänger Geschrieben 7. Mai 2003 Geschrieben 7. Mai 2003 Hallo, kann mir bitte kurz einer sagen, wie ich in einer IF-Anweisung prüfen kann ob eine Variable Typ Long, Variable Typ Char und eine Variable Typ Short gefüllt ist? Danke Zitieren
javaanfänger Geschrieben 7. Mai 2003 Autor Geschrieben 7. Mai 2003 ob werte in den variablen stehen Zitieren
Klotzkopp Geschrieben 7. Mai 2003 Geschrieben 7. Mai 2003 Es stehen immer Werte in den Variablen. Du kannst bei eingebauten Datentypen in C oder C++ nicht feststellen, ob ihnen schonmal Werte zugewiesen wurden oder nicht. Zitieren
javaanfänger Geschrieben 7. Mai 2003 Autor Geschrieben 7. Mai 2003 Ich glaube du hast mein Problem falsch verstanden. Folgendes: Ich werde von einem Modul aufgerufen und jetzt will ich halt prüfen ob die Variablen gefüllt sind oder leer übergeben wurden. Vielleicht ist es jetzt verständlicher. Zitieren
Klotzkopp Geschrieben 7. Mai 2003 Geschrieben 7. Mai 2003 Original geschrieben von javaanfänger Ich werde von einem Modul aufgerufen und jetzt will ich halt prüfen ob die Variablen gefüllt sind oder leer übergeben wurden. Vielleicht ist es jetzt verständlicher. Leider nicht. Es gibt bei den eingebauten Datentypen in C/C++ keine Statusinformation "gefüllt" oder "leer". Man kann Variablen daher auch nicht "leer übergeben". Du kannst deine Funktion so schreiben, dass sie einen bestimmten Wert als "leer" interpretiert (z.B. 0 oder -1), aber das muss der Aufrufer wissen und die Variable auf diesen Wert setzen, wenn er eine "leere" Variable übergeben will. Vielleicht hilft es weiter, wenn du ein wenig Code zeigst, oder genauer beschreibst, wofür du diese Abfrage brauchst. Zitieren
nic_power Geschrieben 7. Mai 2003 Geschrieben 7. Mai 2003 Wie schon erwähnt, es stehen immer irgendwelche Werte in den Variablen (unabhängig davon, ob diese auch tatsächlich vom Aufrufer gesetzt wurden). Einzige Möglichkeit wäre ein zusätzliches Flag, welches darüber Auskunft gibt, ob die Variablen bei der Übergabe mit sinnvollen Werten gefüllt wurden. Nic Edit: @Klotzkopp: Diesmal warst Du einen Tick schneller Zitieren
javaanfänger Geschrieben 7. Mai 2003 Autor Geschrieben 7. Mai 2003 Dann sagen wir halt ich will auf ungleich 0 prüfen z.B. if(vara !=0) aber das kann ich ja nicht mit jedem beliebeigen Datentypen machen. Zitieren
Klotzkopp Geschrieben 7. Mai 2003 Geschrieben 7. Mai 2003 Original geschrieben von javaanfänger Dann sagen wir halt ich will auf ungleich 0 prüfen z.B. if(vara !=0) aber das kann ich ja nicht mit jedem beliebeigen Datentypen machen. Mit long, short und char schon. Hast du noch andere? Zitieren
Spoom Geschrieben 7. Mai 2003 Geschrieben 7. Mai 2003 Also normalerweise ist eine Variable null aber es kann auch in deinem fall sein, das sie zwar initialisiert sind aber keinen Wert haben dann müsstest Du string auf "" long auf 0 usw. prüfen. MfG Spoom Zitieren
PerdianMG Geschrieben 9. Mai 2003 Geschrieben 9. Mai 2003 Dann sagen wir halt ich will auf ungleich 0 prüfen z.B. if(vara !=0) aber das kann ich ja nicht mit jedem beliebeigen Datentypen machen. Natürlich kannst du das nicht - und das ist auch gut so. Es macht nunmal nur bei numerischen Typen Sinn auf 0 zu prüfen. Hinter dem ganzen steckt ja gerade die Idee jeden Typen so zu behandeln, wie es gerade am besten ist - sonst bräuchtest du keine Typisierung sondern nimmst wie bei VB einfach Variant und fertig. Ciao Christian Zitieren
nic_power Geschrieben 9. Mai 2003 Geschrieben 9. Mai 2003 Original geschrieben von Spoom Also normalerweise ist eine Variable null aber es kann auch in deinem fall sein, das sie zwar initialisiert sind aber keinen Wert haben dann müsstest Du string auf "" long auf 0 usw. prüfen. MfG Spoom Was meinst Du denn mit "keinen Wert haben"? long, short, int usw. haben immer einen Wert, egal ob Du sie initialisiert hast oder nicht. Nic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.