Latest web development tutorials

C wywołanie funkcji przez wartość

funkcja C funkcja C

Dotradycyjnych wartości parametrów przekazywanych do wywołaniafunkcji, skopiuj rzeczywiste wartości parametrów formalnych parametrów funkcji. W tym przypadku, to zmodyfikowana forma parametrów wewnątrz funkcji nie wpłynie na rzeczywiste parametry.

DomyślnieCall-by-sposobyjęzyka C przekazać parametry. Ogólnie rzecz biorąc, oznacza to, że kod wewnątrz funkcji nie zmienia rzeczywiste parametry używane do wywołania funkcji.Zmienne () jest zdefiniowana następująco:

/* 函数定义 */
void swap(int x, int y)
{
   int temp;

   temp = x; /* 保存 x 的值 */
   x = y;    /* 把 y 赋值给 x */
   y = temp; /* 把 temp 赋值给 y */
  
   return;
}

Teraz, niech nam przekazując rzeczywiste argumenty zadzwonićswap function ():

#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 );
 
   /* 调用函数来交换值 */
   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:

交换前,a 的值: 100
交换前,b 的值: 200
交换后,a 的值: 100
交换后,b 的值: 200

Powyższy przykład pokazuje, że, chociaż zmiany w funkcji i wartością B, ale w rzeczywistości, A i B wartości nie zmieniło.

funkcja C funkcja C