Difference between revisions of "Funzione con numero variabile di parametri."
Jump to navigation
Jump to search
(Created page with "Esempio di funzione che prende in argomento un numero variable di parametri: <syntaxhighlight lang="C"> #include <stdio.h> #include <stdarg.h> void foo(int narg, ... ) { in...") |
|||
Line 5: | Line 5: | ||
#include <stdarg.h> | #include <stdarg.h> | ||
− | void foo(int narg, ... ) | + | void foo(int narg, ... ) //narg é il numero di argomenti che verranno passati |
{ | { | ||
int i; | int i; |
Revision as of 14:48, 10 November 2013
Esempio di funzione che prende in argomento un numero variable di parametri:
#include <stdio.h>
#include <stdarg.h>
void foo(int narg, ... ) //narg é il numero di argomenti che verranno passati
{
int i;
va_list ap; //Il tipo di dato va_list é una lista di variabili
va_start(ap,narg); // Macro che inizializza ap
for ( i = 0 ; i < narg ; i++) {
int this = va_arg( ap , int ); //Macro che dice il tipo e il valore che deve
printf(" %d ", this); //avere il prossimo argomento della chiamata
}
printf("\n");
va_end(ap); //Macro che chiude la macro di inizializzazione
}
int main ( int argc , char *argv)
{
foo( 3 , 1 , 2 , 3 );
foo( 4 , 0 , 54 , 32 , 88 );
foo( 2 , 3 , 4 );
foo( 0 );
foo( 1 , 42 );
}