Latest web development tutorials

C funzione di chiamata di riferimento

funzione C funzione C

Riferimento ai parametri del metodo di chiamata,copiare i parametri di indirizzo ai parametri formali passati alla funzione. All'interno della funzione, l'indirizzo utilizzato per accedere alla chiamata parametri attuali da utilizzare. Ciò significa che una forma modificata di parametri influenzano i parametri effettivi.

Valore passati per riferimento, il puntatore argomento viene passato alla funzione, proprio come gli altri valori passati alla funzione stessa. Così Di conseguenza, la funzione seguenteswap (), è necessario dichiarare l'argomento della funzione come un tipo di puntatore, il valore della funzione per i punti di parametri per lo scambio di due variabili intere.

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

Per ulteriori dettagli puntatore C, visitare il C - Pointer sezione.

Ora, passiamo con riferimento alla funzione di chiamatadi 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;
}

Quando il codice di cui sopra è compilato ed eseguito, produce i seguenti risultati:

Prima di passare, un valore: 100
Prima di commutazione, valori di b: 200
Dopo uno scambio, un valore di: 200
valori In seguito allo scambio, B: 100

L'esempio mostra che, con i valori tradizionali di diverse chiamate, il riferimento chiamata all'interno della funzione di modificare i valori di A e B, infatti, cambiato la funzione esterno aeb valori.

funzione C funzione C