Zurück Vor +Ebene Home Inhalt Index Hilfe

Call-by-value

Call-by-value, Art der Argumentübergabe. Beim Aufruf wird eine Kopie des übergebenen Wertes im lokalen Speicher des Unterprogramms angelegt.
 
Eine Veränderung des Wertes innerhalb des Unterprogramms hat keine Auswirkung auf den Wert im aufrufenden Programmteil.
 
Nachteil der Call-by-value-Übergabe von Argumenten ist, daß stets eine Kopie des übergebenen Objektes angelegt wird. Dazu muß Speicher reserviert und der Speicherinhalt kopiert werden. Bei größeren Datenstrukturen oder häufig aufgerufenen Unterprogrammen kann dies viel Rechenzeit und Speicherplatz verschlingen.
 
Beispiele für Sprachen mit Call-by-value Übergabe von Argumenten:
PASCAL, C, C++
 
Call-by-reference, häufigste Art der Argumentübergabe. Der übergebene Wert wird nicht in einen neuen Speicherbereich kopiert, sondern es wird lediglich die Adresse des die Daten enthaltenden Speicherbereiches übergeben. Unterprogramm und aufrufendes Programm verwenden denselben Speicherbereich.    
 
Eine Veränderung des Arguments im Unterprogramm modifiziert den Wert im aufrufenden Programm, sofern nicht im Unterprogramm die Argumente als konstant definiert werden. Dies ist eine große Gefahr von Call-by-reference.
 
Call-by-reference ist die effizienteste Art, Daten zu übergeben, da keine Speicherbereiche (außer dem Speicherbereich, der die Adresse des Wertes enthält) kopiert werden müssen.
 
Call-by-reference kann bei allen höheren Programmiersprachen realisiert werden. Standard ist sie beispielsweise in FORTRAN. In PASCAL oder C++ muß Call-by-reference explizit angegeben werden.
 
In C gibt es keine Call-by-reference-Parameter! Diese müssen über Zeiger simuliert werden.
 
Die Möglichkeit der Auswahl zwischen Call-by-value und Call-by-reference trägt entscheidend zur Datenintegrität im aufrufenden Programmteil bei.
 
Stack, Speicherbereich zur temporären Speicherung lokaler Variablen in Programmmodulen. Funktioniert nach dem Prinzip last-in-first-out. Daten werden immer oben auf den Stapel (engl. stack) abgelegt und müssen später in umgekehrter Reihenfolge wieder entfernt werden.

Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik