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...") |
|||
(2 intermediate revisions by one other user not shown) | |||
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; | ||
Line 18: | Line 18: | ||
} | } | ||
− | int main ( int argc , char *argv) | + | int main ( int argc , char* argv[]) |
{ | { | ||
foo( 3 , 1 , 2 , 3 ); | foo( 3 , 1 , 2 , 3 ); | ||
Line 27: | Line 27: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
+ | |||
+ | -Pirata- |
Latest revision as of 20:06, 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 );
}
-Pirata-