Das Kefk Network Wiki befindet sich im Testbetrieb.
Wertparameter
Aus Kefk.
Wertparameter (engl. call by value) sind Parameter von Unterprogrammen in Programmiersprachen, die die Übergabe, jedoch nicht die Rückgabe von Werten ermöglichen. Neben Wertparametern stehen oft auch Referenzparameter zur Verfügung, die neben einer Wertübergabe auch deren Rückgabe ermöglichen.
Beispiel
Die Programmiersprache C verwendet für einfache Variablen stets Wertparameter:
Funktion:
int test(int s1, int s2)
{
s1 = s1 * 3;
s2 = s2 * 4;
return(s1 + s2);
}
Aufruf:
int a = 4, b = 5, c;
c = test(a,b);
printf("%i, %i, %i", a, b, c);
Ausgabe:
4, 5, 32
In diesem Beispiel ist zu sehen, dass die beiden Variablen a und b lediglich ihre Werte an die Funktion test übergeben, aber im Gegensatz zu einem Referenzparameter dabei unverändert bleiben.
Felder und Unterprogramm-Parameter werden in C jedoch stets als Referenzparameter übergeben.
Implementierung
Wird eine Zuweisung innerhalb des Unterprogrammes an einen Wertparameter vorgenommen, muss ein Compiler beim Unterprogrammaufruf eine Kopie des Parameters erzeugen. Hierfür ist sowohl Speicherplatz als auch Ausführungszeit erforderlich. Bei größeren Datenstrukturen, wie z. B. großen Feldern, kann dies problematisch sein.
Optimierende Compiler können automatisch ermitteln, ob eine solche Kopie nötig ist und gegebenenfalls darauf verzichten.
Verwendende Programmiersprachen
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Wertparameter, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
