Latest web development tutorials

C-Funktionsaufruf Referenz

C-Funktion C - Funktion

Eswird auf die Aufruf der Methode Parameter, kopieren Sie die Adressparameter auf die formal an die Funktion übergebenen Parameter.Innerhalb der Funktion verwendete Adresse zu verwenden, um den Anruf aktuellen Parameter zuzugreifen. Dies bedeutet, dass eine modifizierte Form der Parameter die aktuellen Parameter beeinflussen.

Wert als Referenz übergeben, wird das Argument Zeiger auf die Funktion übergeben, ebenso wie andere Werte an die Funktion gleich. So Dementsprechend wird die folgende Funktionswap (), müssen Sie die Funktionsargument als Zeigertyp zu deklarieren, der Funktionswert für die Parameterpunkte zwei Integer - Variablen auszutauschen.

/* 函数定义 */
void swap(int *x, int *y)
{
   int temp;
   temp = *x;    /* 保存地址 x 的值 */
   *x = *y;      /* 把 y 赋值给 x */
   *y = temp;    /* 把 temp 赋值给 y */
  
   return;
}

Für weitere Details C - Zeiger finden Sie auf der C - Pointer Abschnitt.

Lassen Sie uns nun unter Bezugnahme auf die aufrufende FunktionSwap () übergeben:

#include <stdio.h>
 
/* 函数声明 */
void swap(int *x, int *y);
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
 
   printf("交换前,a 的值: %d\n", a );
   printf("交换前,b 的值: %d\n", b );
 
   /* 调用函数来交换值
    * &a 表示指向 a 的指针,即变量 a 的地址 
    * &b 表示指向 b 的指针,即变量 b 的地址 
   */
   swap(&a, &b);
 
   printf("交换后,a 的值: %d\n", a );
   printf("交换后,b 的值: %d\n", b );
 
   return 0;
}

Wenn der obige Code kompiliert und ausgeführt wird, erzeugt es die folgenden Ergebnisse:

Vor dem Einschalten wird ein Wert: 100
Vor dem Einschalten, b-Werte: 200
Nach einem Austausch, ein Wert von 200
Nach dem Austausch, b-Werte: 100

Das obige Beispiel zeigt, dass mit den traditionellen Werten der verschiedenen Anrufe innerhalb der Funktion der Anruf Referenz die Werte von a und b zu ändern, in der Tat, verändert die Funktion außerhalb Werte a und b.

C-Funktion C - Funktion