English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Libreria standard C - <stdarg.h>
Macro della libreria C type va_arg(va_list ap, type) Recupera la lista dei parametri della funzione di tipo type del prossimo argomento. Non può determinare se l'argomento recuperato è l'ultimo argomento passato alla funzione.Di seguito è riportata la dichiarazione della macro va_arg().
type va_arg(va_list ap, type)
ap -- Questo è va_list Un oggetto di tipo, che memorizza informazioni riguardanti l'argomento extra e lo stato di recupero. L'oggetto deve essere inizializzato per la prima volta chiamando va_start.
type -- Questo è un nome di tipo. Il nome di tipo viene utilizzato come tipo dell'espressione estesa da questa macro.
Questa macro restituisce il prossimo argomento extra, che è un'espressione di tipo type.
Esempio di utilizzo della macro va_arg().
#include <stdarg.h> #include <stdio.h> int sum(int, ...); int main() { printf("10 e 34 somma = %d\n", sum(2, 10, 34)); 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; }
Compiliamo e eseguiamo il programma sopra riportato, il quale produrrà il seguente risultato:
La somma di 10 e 34 è uguale a 44