Fonction variadique : prend un nombre d'argument variable
Le premier champs est obligatoire, mais pas nécessairement un char * (pour une fonction variadique) Le deuxieme champs : ... : c'est le nombre variable d'arguments Types de conversions % Type de données Limites Techniques Fait Ret c Caractère 1 char putchar x x s Chaîne de carctère char * putstr x x p Adresse en mémoire (en héxadécimale) 0 à size_t max putnbrbase x x d int -2147483648 à 2147483647 putnbr x x i int -2147483648 à 2147483647 putnbr x x u unsigned int 0 à 4294967295 putunbr x x x Nombre en héxadécimal minuscule 0 à 4294967295 putnbrbase x x X Nombre en héxadécimal majusucle 0 à 4294967295 putnbrbase x x % Affiche pourcentage 1 char putchar x x Valeur de retour Le nombre de charactères écrit Valeure négative en cas d'erreur Fonctions autorisées Attention Attention ce sont des macros
va_list ap : initialise une structure de données requise par les macros va_* va_start(va_list ap, last) : intialisation de la structure va_list déclarée en amont
va_list ap : variable de type va_list déclarée en amont
last : dernier paramètre nommé de la fonction variadique va_arg(va_list ap, type) : doit être casté va_list ap : variable de type va_list initialisée en amont type : type de la variable stockée sortie : chaque appel retourne l'arguments dans l'ordre de celui de la fonction variadiaque va_copy(va_list dest, va_list src) : duplique l'état d'une structure de données va_list
va_end(va_list ap) : libère la liste initialisée par va_start ou va_copy