Forum: Compiler & IDEs Beliebige Gabzzahl an Funktion übergeben


von Chrisi (Gast)


Lesenswert?

Hi,
wie bekomme ich es denn hin, das einer funktion eine beliebige Ganzzahl 
übergeben werden kann.
Ich habe eine Funktion void test(long int j){,,,}, die Variable j ist 
aber mal eine char, mal ein short int, vielleicht sogar mal ein long 
long.

von Karl H. (kbuchegg)


Lesenswert?

Die Fragestellung ist etwas vage.

Ansonsten: Die Funktion nimmt als Datentype den größten Datentyp, der 
möglich ist (und der ev. noch sinnvoll ist). Alles andere ist dann Sache 
des Aufrufers.

von Timmo H. (masterfx)


Lesenswert?

Die Ganzzahl-Datentypen sind alle abwärtskompatibel, sie belegen nur 
mehr Speicher, wodurch natürlich dann auch die Rechenoperationen 
langsamer werden (zumindest wenn du mit einer X-Bit Maschine einen >X 
Bit Wert berechnest). Einige CPUs haben aber auch extra Befehle für 
solche zwecke. Aktuelle CPUs können glaub ich auch 64 und 128 Bit Werte 
in einem Takt berechnen (MMX). Falls es eine Zeitkritische Funktion ist, 
solltest du also innerhalb der Funktion je nach tatsächlicher größe den 
Datentyp ggf. auf einen kleineren Casten.

von MWS (Gast)


Lesenswert?

Zeiger auf Variable übergeben und Variablentyp als zusätzlicher 
Parameter beim Aufruf der Funktion ?

von tuppes (Gast)


Lesenswert?

Welche Sprache, C oder C++?

Und spielt es innerhalb der Funktion eine Rolle, welchen Typ der 
Parameter außerhalb hatte? Oder muss nur der Wert richtig rein in die 
Funktion?

von Chrisi (Gast)


Lesenswert?

Danke für die Antworten,
ich definier es so void test(long i), da es nicht größer wird als long 
nur kleiner und die ganze Sache auch nicht zeitkritisch ist.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.