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.