Heim >Backend-Entwicklung >C++ >Welche Beziehung besteht zwischen tatsächlichen Parametern und formalen Parametern in der C-Sprache?

Welche Beziehung besteht zwischen tatsächlichen Parametern und formalen Parametern in der C-Sprache?

下次还敢
下次还敢Original
2024-05-02 19:42:311390Durchsuche

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.

Welche Beziehung besteht zwischen tatsächlichen Parametern und formalen Parametern in der C-Sprache?

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

  • Der tatsächlich an die Funktion übergebene Wert, wenn die Funktion aufgerufen wird.
  • kann der Wert einer Konstante, einer Variablen oder eines Ausdrucks sein.

Formale Parameter

  • Die von der Funktion akzeptierten Parameter werden verwendet, um die Werte der tatsächlichen Parameter darzustellen.
  • Wird normalerweise deklariert, wenn die Funktion definiert wird.
  • Initialisieren Sie den Funktionskörper mit dem Wert des tatsächlichen Parameters.

Beziehung

Die Beziehung zwischen tatsächlichen Parametern und formalen Parametern ist wie folgt:

  • Typübereinstimmung: Der Typ des formalen Parameters muss mit dem entsprechenden tatsächlichen Parametertyp kompatibel sein.
  • Mengenübereinstimmung: Die Anzahl der formalen Parameter muss mit der Anzahl der tatsächlichen Parameter übereinstimmen.
  • Wertübergabe: Standardmäßig wird der Wert des tatsächlichen Parameters an den formalen Parameter übergeben. Eine Änderung der formalen Parameter hat keinen Einfluss auf den Wert der tatsächlichen Parameter und umgekehrt.
  • Adressübergabe: Die Adressübergabe kann durch die Verwendung von Zeigern oder Array-Argumenten erreicht werden. Dadurch können Sie den Wert des Aktualparameters ändern.
  • Speicherzuweisung: Formalen Parametern wird während des Funktionsaufrufs Speicher auf dem Stapel zugewiesen, und der Wert des tatsächlichen Parameters wird in den Speicher des formalen Parameters kopiert.

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 ab 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn