Mehrere Werte aus Funktion zurückgeben

OP #543068
Lesenswert?
• ▲
▼
Hallo Leute,
Ich sitze gerade vor meinem Programm und würde gerne aus einer Funktion 
mehrere Werte zurückgeben.
Im "normalen" C kann ich das so machen:

int TestFunktion (int &Zahl1, int &Zahl2)

Dann kann ich die Zahl1 und Zahl2 in der Funktion bearbeiten und 
zurückgeben. In GCC funktioniert das bei mir aber nicht. Geht das 
generell nicht, mache ich was falsch oder gibt es vielleicht einen 
anderen Weg mehrere Werte zurückzugeben?

sorry, wenn das hier schon öfter gefragt wurde, ich habe aber nichts 
dazu gefunden.

mfg

morrie
Gast #543072
Lesenswert?
• ▲
▼
Du must einen zeiger auf den Wert/die variable übergeben,
also die Adresse, wo etwas steht.

(bei C++ ginge aus auch noch anders)

Die Funktion darf den Wert wie oben entgegennehmen,
aber nicht ändern - und genau das passiert ja nicht
mit der Adresse.
Persönliche Seite #543073
Lesenswert?
• ▲
▼
>>int TestFunktion (int &Zahl1, int &Zahl2)

Das ist kein C, sondern C++. In C macht man das mit Zeigern, Referenze 
gibt es nicht.

Funktion; int TestFunktion (int* Zahl1, int* Zahl2)

Arbeiten in Funktion:
int TestFunktion (int* Zahl1, int* Zahl2)
{
   *Zahl1 = 25;
   *Zahl2 = Zahl1  20;

   return *Zahl2 + 75;
}

Aufruf: TestFunktion(&var1, &var2);

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.