In der C-Sprache werden tatsächliche Parameter an den Wert der Funktion übergeben, während formale Parameter die Parameter der Funktion empfangen. Zwischen ihnen besteht die folgende Beziehung: Typübereinstimmung: Der formale Parametertyp sollte mit dem tatsächlichen Parametertyp kompatibel sein. Mengenanpassung: Die Anzahl der formalen Parameter muss gleich der Anzahl der tatsächlichen Parameter sein. Wertübergabe (Standard): Der tatsächliche Parameterwert wird an den formalen Parameter übergeben, und das Ändern des formalen Parameters hat keinen Einfluss auf den tatsächlichen Parameter. Adressübergabe (optional): Durch die Verwendung eines Zeigers oder eines Array-Aktualparameters kann eine Adressübertragung und -änderung erreicht werden Der formale Parameter kann auch den tatsächlichen Parameter ändern. Speicherzuordnung: Den formalen Parametern wird Speicher auf dem Stapel zugewiesen, und die tatsächlichen Parameterwerte werden in den formalen Parameterspeicher kopiert.
Die Beziehung zwischen tatsächlichen Parametern und formalen Parametern in der C-Sprache
In der C-Sprache spielen tatsächliche Parameter und formale Parameter unterschiedliche Rollen, es besteht jedoch eine enge Beziehung zwischen ihnen.
Aktuelle Parameter
Formale Parameter
Beziehung
Die Beziehung zwischen tatsächlichen Parametern und formalen Parametern ist wie folgt:
Beispiel
Betrachten Sie beispielsweise die folgende Funktion:
<code class="c">void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; }</code>
In diesem Beispiel sind die tatsächlichen Parameter zwei ganzzahlige Variablen zum Zeitpunkt des Funktionsaufrufs. Die formalen Parameter a
和 b
sind zwei Zeiger auf ganze Zahlen. Beim Aufruf der Funktion werden die Werte der Aktualparameter in den Speicher der Formalparameter kopiert. Operationen im Funktionskörper ändern die Werte der formalen Parameter und damit die Werte der tatsächlichen Parameter.
Das obige ist der detaillierte Inhalt vonWelche Beziehung besteht zwischen tatsächlichen Parametern und formalen Parametern in der C-Sprache?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!