Latest web development tutorials

pointeur à l'appel de C

La fonction C de La fonction C de

Pointer pour appeler la fonction pour passer des paramètres pour copier les paramètres d'adresse aux paramètres formels.Dans la fonction, l'adresse utilisée pour accéder à l'appel des paramètres réels à utiliser. Cela signifie que la forme modifiée des paramètres influent sur les paramètres réels.

En passant une valeur de pointeur, le pointeur d'argument est passé à la fonction, tout comme les autres valeurs passées à la fonction même. Ainsi Par conséquent, leswap de fonction suivante (),vous devez déclarer l'argument de la fonction comme un type de pointeur, la valeur de fonction pour les points de paramètres pour échanger deux variables entières.

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

Pour plus de détails sur le pointeur de la C, visitez le ++ pointeur C de section.

Maintenant, nous allons appeler le pointeur fonctionde permutation des valeurs traditionnelles ():

#include <iostream>
using namespace std;

// 函数声明
void swap(int *x, int *y);

int main ()
{
   // 局部变量声明
   int a = 100;
   int b = 200;
 
   cout << "交换前,a 的值:" << a << endl;
   cout << "交换前,b 的值:" << b << endl;

   /* 调用函数来交换值
    * &a 表示指向 a 的指针,即变量 a 的地址 
    * &b 表示指向 b 的指针,即变量 b 的地址 
    */
   swap(&a, &b);

   cout << "交换后,a 的值:" << a << endl;
   cout << "交换后,b 的值:" << b << endl;
 
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

Avant de passer, une valeur: 100
Avant de commutation, les valeurs b: 200
Après un échange, une valeur de: 200
Après l'échange des valeurs, b: 100

La fonction C de La fonction C de