C bibliothèque macro - va_start ()
C bibliothèque standard - <stdarg.h>
description
C bibliothèque macrovide va_start (va_list ap, last_arg) apvariable initialisée, ilva_arget macrosva_endsont utilisés ensemble.last_arg passé à la fonction est le dernier paramètre fixe connu, les points de suspension paramètres précédents.
Cette macro doit être appelée avant d' utiliserva_arg et va_end.
déclaration
Voici le va_start () déclaration macro.
void va_start(va_list ap, last_arg);
Paramètres
- ap - il est un objet de type va_listqui est utilisé pour stocker des paramètres supplémentaires à travers leva_argobtenir les informations nécessaires.
- last_arg - dernière fonction connue paramètre fixe qui lui est passé.
Valeur de retour
NA
Exemples
L'exemple suivant démontre la macro va_start () utilisation.
#include<stdarg.h> #include<stdio.h> int sum(int, ...); int main(void) { printf("10、20 和 30 的和 = %d\n", sum(3, 10, 20, 30) ); printf("4、20、25 和 30 的和 = %d\n", sum(4, 4, 20, 25, 30) ); 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:
10、20 和 30 的和 = 60 4、20、25 和 30 的和 = 79