Il existe deux formes de transmission de paramètres réels en langage C : la transmission par valeur et la transmission par adresse. Le passage par valeur copie la valeur réelle du paramètre dans le paramètre formel, et la modification du paramètre formel n'affecte pas le paramètre réel ; le passage par adresse transfère l'adresse réelle du paramètre au paramètre formel, et la modification du paramètre formel modifie directement le paramètre réel. valeur. Le langage C transmet par défaut par valeur, mais vous pouvez utiliser des pointeurs pour implémenter le passage par adresse.
Forme des paramètres réels en langage C
En langage C, les paramètres réels font référence aux données réelles transmises à la fonction. Les paramètres réels sont généralement transmis sous la forme suivante :
En langage C pass by value est utilisé par défaut. Cependant, le passage par adresse peut être implémenté à l'aide de pointeurs.
Exemple de passage par valeur :
<code class="c">void swap(int a, int b) { // 对形参进行交换 int temp = a; a = b; b = temp; } int main() { int x = 5; int y = 7; swap(x, y); // 按值传递 x 和 y // x 和 y 仍然是 5 和 7 printf("x = %d, y = %d\n", x, y); return 0; }</code>
Exemple de passage par adresse :
<code class="c">void swap(int *a, int *b) { // 对形参(指针)进行交换 int temp = *a; *a = *b; *b = temp; } int main() { int x = 5; int y = 7; swap(&x, &y); // 按地址传递 x 和 y 的地址 // x 和 y 已被交换 printf("x = %d, y = %d\n", x, y); return 0; }</code>
J'espère que cette explication pourra vous aider à comprendre la forme des paramètres réels en langage 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!