Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben
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.

Geschrieben

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 ;)

Geschrieben
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?
Geschrieben

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

Geschrieben
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

Geschrieben
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

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...