| Infos Home | Impressum | Original Artikel & Autoren Liste |
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, 32In 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 Referenzparamter dabei unverändert bleiben.
Felder und Unterprogramm-Parameter werden in C jedoch stets als Referenzparameter übergeben.
Optimierende Compiler können automatisch ermitteln, ob eine solche Kopie nötig ist und gegebenenfalls darauf verzichten.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.
|
Der Ursprungsartikel stammt von der deutschsprachigen Wiki pedia (siehe oben: "Original Artikel & Autoren Liste"). Der Text steht unter der GNU Freie Dokumentation Lizenz. |