Call-by-Value
Call-by-Value bedeutet, dass beim Funktionsaufruf eine Kopie des übergebenen Werts an die Funktion übergeben wird.
Änderungen am Parameter innerhalb der Funktion ändern die ursprüngliche Variable nicht.
Beispiel:
void upgrade(int meinezahl) {
meinezahl = 18;
}
int main() {
int meinezahl = 5;
upgrade(meinezahl);
printf("%d\n", meinezahl);
}
Ausgabe: 5
Grund: Die Funktion verändert nur ihre lokale Kopie von meinezahl.
Wichtig für C
C verwendet grundsätzlich Call-by-Value. Auch Pointer werden als Werte übergeben. Referenzartiges Verhalten entsteht nur dadurch, dass eine Adresse übergeben und anschließend dereferenziert wird.