Latest web development tutorials

C wywołanie funkcji odniesienia

funkcja C funkcja C

Odniesienie do zawijających parametrów metody, skopiuj parametry adresowe do formalnych parametrów przekazywanych do funkcji.Wewnątrz funkcji, adres używany do dostępu do połączenia aktualnych parametrów do użycia. Oznacza to, że zmodyfikowaną postać parametrów wpływają na rzeczywiste parametry.

Wartość przekazywane przez referencję, wskaźnik argument przekazywany do funkcji, podobnie jak inne wartości przekazywane do funkcji samo. Zatem Zgodnie z tym, co następujezamiana funkcji (),trzeba zadeklarować argument funkcjonować jako rodzaj wskaźnika, wartość funkcji dla punktów parametrów do wymiany dwóch zmiennych całkowitych.

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

Aby uzyskać więcej szczegółów C wskaźnik, odwiedź C - wskaźnik sekcję.

Teraz przejdźmy przez odniesienie dozamiany funkcji wywołującej ():

#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;
}

Gdy powyższy kod jest kompilowany i wykonany, że daje następujące wyniki:

Przed włączeniem wartość: 100
Przed włączeniem, b wartości: 200
Po wymianie, wartość: 200
Wartości po wymianie, B: 100

Powyższy przykład pokazuje, że z tradycyjnymi wartościami różnych połączeń, odniesienie połączeń wewnątrz funkcji, aby zmienić wartości A i B, w rzeczywistości zmienił funkcję poza aib wartości.

funkcja C funkcja C