Stdarg.h
El contingut de Declaració de funcions variàdiquesLes funcions variàdiques són funcions que poden prendre un nombre variable d'arguments i es declaren amb punts suspensius en lloc de l'últim paràmetre. Un exemple d'aquesta funció és printf. Una declaració típica és int check(int a, double b, ...);
Les funcions variàdiques han de tenir almenys un paràmetre anomenat, per tant, per exemple, char *wrong(...);
no està permès en C. (En C++ i C23,[3] aquesta declaració està permesa.) En C, una coma ha de precedir els punts suspensius si s'especifica un paràmetre amb nom; en C++, és opcional. tipus stdarg.h
Accés als argumentsPer accedir als arguments sense nom, cal declarar una variable de tipus Exemple#include <stdio.h>
#include <stdarg.h>
/* print all args one at a time until a negative argument is seen;
all args are assumed to be of int type */
void printargs(int arg1, ...)
{
va_list ap;
int i;
va_start(ap, arg1);
for (i = arg1; i >= 0; i = va_arg(ap, int))
printf("%d ", i);
va_end(ap);
putchar('\n');
}
int main(void)
{
printargs(5, 2, 14, 84, 97, 15, -1, 48, -1);
printargs(84, 51, -1, 3);
printargs(-1);
printargs(1, -1);
return 0;
}
Aquest programa dona la sortida: 5 2 14 84 97 15 84 51 1 Referències
|
Portal di Ensiklopedia Dunia