Trois façons de transmettre les paramètres de fonction
1. Lors du passage, les paramètres formels et les paramètres réels occupent chacun un espace indépendant.
2. Le transfert d'adresse consiste à transférer l'adresse de stockage du paramètre réel vers le paramètre formel.
3. Le passage par référence est un alias avec une référence comme paramètre réel, qui est la même variable que le paramètre réel.
Exemple de code
Passez par valeur
#include<stdio.h> void swap1(int x, int y)//定义中的x,y变量是swap函数的两个形参 { int tmp; tmp = x; x = y; y = tmp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 2; int b = 3; swap1(a, b);//a,b变量为swap函数的实际参数 printf("a=%d,b=%d", a, b); return 0; }
Passez par adresse
void swap2(int *px, int *py) { int tmp; tmp = *px; *px = *py; *py = tmp; printf("px=%d,py=%d\n", *px, *py); } int main() { int a = 2; int b = 3; swap2(&a, &b);/*调用了swap函数,同样也有隐含动作px=&a;py=&b;*/ printf("a=%d,b=%d", a, b); return 0; }
Passez par référence
#include<stdio.h> void swap3(int &x,int &y) { int tmp = x; x = y; y = tmp; printf("x=%d,y=%d\n", x, y); } int main() { int a = 2; int b = 3; swap3(a, b);//调用方式与传值一样 printf("a=%d,b=%d", a, b); system("pause"); return 0; }
Tutoriel recommandé : "Tutoriel C#"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!