Übergabe von Argumenten in C: Referenzen verstehen
In C wird das Verhalten eines Funktionsparameters durch seinen Typ bestimmt. Ein entscheidender Unterschied besteht zwischen „Übergabe nach Wert“ und „Übergabe nach Referenz“.
Warum Referenzen in Funktionsparametern verwenden?
Referenzen werden in Funktionsparametern für zwei verwendet Hauptgründe:
Beispiel:
Bedenken Sie den folgenden Code:
void get5and6(int *f, int *s)
{
*f = 5;
*s = 6;
}
Diese Funktion verwendet Zeiger, um die übergebenen Argumente zu ändern. Alternativ können wir Referenzen verwenden:
void get5and6(int &f, int &s)
{
f = 5;
s = 6;
}
Beide Ansätze erzielen das gleiche Ergebnis, da sich Referenzen ähnlich verhalten wie Zeiger. Aus Gründen der Klarheit und Benutzerfreundlichkeit wird jedoch häufig die Übergabe per Referenz bevorzugt.
Übergabe per Referenz vs. Übergabe per Zeiger
Übergabe per Referenz und Übergabe per Zeiger sind ähnlich , da beide die Übergabe der Adresse des Arguments beinhalten. Es gibt jedoch einige subtile Unterschiede:
Im Allgemeinen ist die Übergabe per Zeiger besser geeignet, wenn von der Funktion erwartet wird, dass sie das Argument ändert Wert des Arguments, während die Übergabe als Referenz bevorzugt wird, wenn auf das Argument nur zugegriffen wird oder wenn der Aufrufer nicht weiß, ob der Wert geändert wird.
Wann Referenzen verwendet werden sollten
Referenzen sind in den folgenden Szenarien besonders nützlich:
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3