Latest web development tutorials

función de C de referencia de llamada

función C función C

La referencia a los parámetros delmétododel llamamiento,copiar los parámetros de dirección a los parámetros formales pasados a la función. Dentro de la función, la dirección utiliza para acceder a la llamada parámetros actuales de usar. Esto significa que una forma modificada de los parámetros afectan a los parámetros reales.

Valor que se pasa por referencia, el puntero del argumento se pasa a la función, al igual que otros valores pasados ​​a la función de la misma. Así acuerdo con esto, la siguiente funciónde intercambio (), debe declarar el argumento de la función como un tipo de puntero, el valor de la función de los puntos de parámetros para intercambiar dos variables enteras.

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

Para obtener más detalles puntero C, visite el C - Puntero sección.

Ahora, pasemos por referencia a la función de llamadade swap ():

#include <stdio.h>
 
/* 函数声明 */
void swap(int *x, int *y);
 
int main ()
{
   /* 局部变量定义 */
   int a = 100;
   int b = 200;
 
   printf("交换前,a 的值: %d\n", a );
   printf("交换前,b 的值: %d\n", b );
 
   /* 调用函数来交换值
    * &a 表示指向 a 的指针,即变量 a 的地址 
    * &b 表示指向 b 的指针,即变量 b 的地址 
   */
   swap(&a, &b);
 
   printf("交换后,a 的值: %d\n", a );
   printf("交换后,b 的值: %d\n", b );
 
   return 0;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

Antes de la conexión, un valor: 100
Antes de conmutación, los valores de b: 200
Después de un intercambio, un valor de: 200
Los valores Tras el intercambio, B: 100

El ejemplo anterior muestra que, con los valores tradicionales de diferentes llamadas, la referencia de llamada dentro de la función para cambiar los valores de a y b, de hecho, cambiado la función fuera de a y b valores.

función C función C