Latest web development tutorials

C biblioteca de macros - va_arg ()

C biblioteca estándar - <stdarg.h> C biblioteca estándar - <stdarg.h>

descripción

biblioteca de C macrotipo va_arg (va_list ap, tipo) función de recuperación de parámetro siguiente lista de parámetros del tipo tipo.No puede determinar si el parámetro recuperado es el último parámetro de la función.

declaración

Aquí está el va_arg () instrucción de macro.

type va_arg(va_list ap, type)

parámetros

  • AP - es un objeto de tipo va_list,almacena información acerca de los parámetros adicionales y recuperar el estado. Este objeto debe ser antes de la primera llamada a va_arg inicializa llamando va_start.
  • Tipo - Este es un nombre de tipo.El nombre del tipo como una extensión del tipo de la expresión de macro de usar.

Valor de retorno

Esta macro devuelve el siguiente tipo de parámetro adicional es un tipo de expresión.

Ejemplos

El siguiente ejemplo demuestra el va_arg () Uso de macros.

#include <stdarg.h>
#include <stdio.h>

int sum(int, ...);

int main()
{
   printf("15 和 56 的和 = %d\n",  sum(2, 15, 56) );
   return 0;
}

int sum(int num_args, ...)
{
   int val = 0;
   va_list ap;
   int i;

   va_start(ap, num_args);
   for(i = 0; i < num_args; i++) 
   {
      val += va_arg(ap, int);
   }
   va_end(ap);
 
   return val;
}

Vamos a compilar y ejecutar el programa anterior, lo que resultará en lo siguiente:

15 和 56 的和 = 71

C biblioteca estándar - <stdarg.h> C biblioteca estándar - <stdarg.h>