Intro :
Il peut être utile de passer un nombre indéfini de paramètres à une fonction.
Il faut inclure au minimum un paramètre obligatoire. Ensuite on peut passer un nombre indéfini d’arguments à la fonction.
Exemple :
|
1 |
void nomFonction(int parametreA, ...); |
Les trois petits points (…) indique au compilateur que la fonction peut prendre plusieurs arguments.
Il faut inclure
On doit indiquer en paramètre le nombre d’arguments passés par cette fonction ! (ici « int n »)
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
#include <stdarg.h> void f (int n, ...) { va_list va; va_start (va, n); for (unsigned int i = 0; i < n; i++) { char* sArgName = va_arg(va, char*); } va_end (va); } |
Ici on récupère des variables de type char* (chaine de caractères).
Résumé :
Les fonctions qui peuvent prendre un nombre variable d’arguments ne sont pas toujours utilisées mais peuvent toujours être utiles.

