Wertparameter - LinkFang.de





Wertparameter


Wertparameter (engl. call by value oder pass by value) sind Parameter von Unterprogrammen, die Kopien der beim Aufruf übergebenen Argumente speichern. Neben Wertparametern stellen Programmiersprachen oft auch Referenzparameter zur Verfügung, die nur einen anderen Namen (Alias) für die übergebenen Argumente bilden und die Veränderung dieser erlauben können.

Beispiel

Die Programmiersprache C verwendet stets Wertparameter.

Funktionsdefinition:

 void swap(int p1, int p2)
 {
     int tmp = p1;
     p1 = p2;
     p2 = tmp;
 }

Funktionsaufruf:

 int a1 = 1; int a2 = 2;
 swap(a1, a2);
 printf("%i, %i", a1, a2);

Ausgabe:

2, 1

Die Werte der Variablen a1 und a2 werden bei der Übergabe an die Funktion swap in deren Parameter p1 und p2 kopiert und nur innerhalb dieser vertauscht.

Felder werden in C stets als Zeiger angelegt und dieser, nicht das Feld, als Wertparameter übergeben. Auch Zeiger werden also als Wertparameter übergeben, Zeigerargumente also in die Funktionsparameter kopiert. Mit diesen Parametern können aber, aufgrund der Zeigernatur, die nicht zur Funktion gehörenden Daten verändert werden. Dies ist nicht gleichbedeutend mit einem call by reference, bietet aber ähnliche Möglichkeiten.

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 (Auszug)

Siehe auch

pt:Estratégia de avaliação ru:Передача параметра (программирование) sk:Vyhodnocovacia stratégia zh:求值策略


Kategorien: Programmierparadigma | Programmiersprachelement

Quelle: Wikipedia - http://de.wikipedia.org/wiki/Wertparameter (Vollständige Liste der Autoren des Textes [Versionsgeschichte])    Lizenz: CC-by-sa-3.0

Änderungen: Alle Bilder mit den meisten Bildunterschriften wurden entfernt. Ebenso alle zu nicht-existierenden Artikeln/Kategorien gehenden internen Wikipedia-Links (Bsp. Portal-Links, Redlinks, Bearbeiten-Links). Entfernung von Navigationsframes, Geo & Normdaten, Mediadateien, gesprochene Versionen, z.T. ID&Class-Namen, Style von Div-Containern, Metadaten, Vorlagen, wie lesenwerte Artikel. Ansonsten sind keine Inhaltsänderungen vorgenommen worden. Weiterhin kann es durch die maschinelle Bearbeitung des Inhalts zu Fehlern gerade in der Darstellung kommen. Darum würden wir jeden Besucher unserer Seite darum bitten uns diese Fehler über den Support mittels einer Nachricht mit Link zu melden. Vielen Dank!

Stand der Informationen: August 201& - Wichtiger Hinweis: Da die Inhalte maschinell von Wikipedia übernommen wurden, ist eine manuelle Überprüfung nicht möglich. Somit garantiert LinkFang.de nicht die Richtigkeit und Aktualität der übernommenen Inhalte. Sollten die Informationen mittlerweile fehlerhaft sein, bitten wir Sie darum uns per Support oder E-Mail zu kontaktieren. Wir werden uns dann innerhalb von spätestens 10 Tagen um Ihr Anliegen kümmern. Auch ohne Anliegen erfolgt mindestens alle drei Monate ein Update der gesamten Inhalte.