C Appel par valeur

Fonctions en C

de passer des paramètres aux fonctionsAppel par valeurméthode, qui copie les valeurs réelles des paramètres vers les paramètres formels de la fonction. Dans ce cas, modifier les paramètres formels à l'intérieur de la fonction n'affecte pas les paramètres réels.

Par défaut, le langage C utiliseAppel par valeurméthode pour passer des paramètres. D'une manière générale, cela signifie que le code à l'intérieur de la fonction ne modifiera pas les paramètres réels utilisés pour appeler la fonction. La fonctionswap()La définition est la suivante :

/* 函数定义 */
void swap(int x, int y)
{
   int temp;

   temp = x; /* 保存 x 的值 */
   x = y;    /* 把 y 赋值给 x */
   y = temp; /* 把 temp 赋值给 y */
  
   return;
}

Maintenant, appelons la fonction en passant des paramètres réels.swap():

Exemple

#include <stdio.h>
 
/* Déclaration de fonction */
void swap(int x, int y);
 
int main ()
{
   /* définition de variable locale */
   int a = 100;
   int b = 200;
 
   printf(Avant l'échange, valeur de a: %d\n", a );
   printf(Avant l'échange, valeur de b: %d\n", b );
 
   /* Appeler la fonction pour échanger les valeurs */
   swap(a, b);
 
   printf(Après l'échange, valeur de a: %d\n", a );
   printf(Après l'échange, valeur de b: %d\n", b );
 
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant :

交换前,a 的值: 100
交换前,b 的值: 200
交换后,a 的值: 100
交换后,b 的值: 200

L'exemple ci-dessus montre que bien que les valeurs de a et b aient été modifiées à l'intérieur de la fonction, en réalité les valeurs de a et b n'ont pas changé.

Fonctions en C

autres extensions