Difference between revisions of "Funzione con numero variabile di parametri."

From Sistemi Operativi
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...")
(No difference)

Revision as of 15:47, 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, ... )
{
	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 );
}