Funktionsrueckgabewert
← Funktionsaufruf | ● | Funktionsbeispiel →
Jede Funktion gibt für einen Aufruf mit einem bestimmten Satz an Funktionsargumenten genau einen Wert zurück, den Funktionsrückgabewert.
Der Datentyp des Rückgabewertes muss mit der Deklaration in Übereinstimmung sein, andernfalls wird der jeweilige Datentyp implizit umgewandelt, sofern das möglich ist.
Die Rückgabe eines Wertes geschieht mittels return(<expression>)
bzw. return <expression>;
. Dadurch wird die Funktionsausführung beendet und in die aufrufende Programmzeile zurückgesprungen.
Die Evaluierung des Funktionsaufrufs entspricht dann dem jeweiligen Rückgabewert, der für eine weitere Verarbeitung zur Verfügung steht.
Fallgrube: Folgendes Programmfragment hat keinen Effekt, weil der Rückgabewert zwar berechnet und zurückgegeben wird, aber verloren geht, weil er nicht weiterverarbeitet wird (Werte sind flüchtig, solange sie nicht im Hauptspeicher gespeichert werden):
{
return(x*x);
}
double x = 10;
square(x);
Speichern des Rückgabewertes z.B. in einer Variable:
x2 = square(x);
Weiterverarbeitung des Rückgabewertes als Argument eines weiteren Funktionsaufrufs:
x4 = square(square(10));
← Funktionsaufruf | ● | Funktionsbeispiel →