Latest web development tutorials

C bibliothèque macro - va_arg ()

C bibliothèque standard - <stdarg.h> C bibliothèque standard - <stdarg.h>

description

C bibliothèque de macros detype va_arg (va_list ap, type) fonction de récupération de paramètre suivant la liste des paramètres de type type.Il ne peut pas déterminer si le paramètre récupéré est le dernier paramètre de la fonction.

déclaration

Voici le va_arg () déclaration macro.

type va_arg(va_list ap, type)

Paramètres

  • ap - il est un objet de type va_list,stocke des informations sur les paramètres supplémentaires et récupérer l' état. Cet objet doit être avant le premier appel à va_arg initialisé en appelant va_start.
  • Type - Ceci est un nom de type.Le nom du type comme une extension de type de l'expression macro à utiliser.

Valeur de retour

Cette macro renvoie le prochain type de paramètre supplémentaire est un type d'expression.

Exemples

L'exemple suivant illustre le va_arg () macro utilisation.

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

Nous allons compiler et exécuter le programme ci-dessus, qui se traduira par ce qui suit:

15 和 56 的和 = 71

C bibliothèque standard - <stdarg.h> C bibliothèque standard - <stdarg.h>