Partager via


Appels avec un nombre variable d'arguments

Une liste de paramètres partielle peut être effectuée par la notation de sélection, une virgule suivie de trois points (, ...), pour indiquer qu'il peut y avoir des arguments passés à la fonction, mais plus d'informations ne sont données sur elles.La vérification de type n'est pas exécutée sur de ces arguments.Au moins un paramètre doit précéder la notation de sélection et la notation de sélection doit être la dernière jeton dans la liste de paramètres.Sans notation de sélection, le comportement d'une fonction n'est pas défini s'il accepte des paramètres en plus de ceux déclarés dans la liste de paramètres.

Pour appeler une fonction avec un nombre variable d'arguments, spécifiez simplement un nombre d'arguments dans l'appel de fonction.Un exemple est la fonction d' printf de la bibliothèque Runtime C.L'appel de fonction doit inclure un argument pour chaque nom de type déclaré dans la liste de paramètres ou la liste de types d'argument.

Tous les arguments spécifiés dans l'appel de fonction sont placés sur la pile à moins que la convention d'appel d' __fastcall soit spécifiée.Le nombre de paramètres déclarés pour la fonction détermine lesquels les arguments sont pris de la pile et assignés aux paramètres.Vous êtes chargé de récupérer tous les arguments supplémentaires de la pile et de déterminer le nombre d'arguments sont présents.Le fichier de STDARG.H contient des macros de style de l'ANSI pour les arguments d'accès des fonctions acceptant un nombre variable d'arguments.En outre, les macros de style du XENIX dans VARARGS.H sont encore prises en charge.

Cette exemple de déclaration est pour une fonction qui demande un nombre variable d'arguments :

int average( int first, ...);

Voir aussi

Concepts

Appels de fonction