C Appel par valeur
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
/* 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é.
autres extensions