varargs
¡Esta es una revisión vieja del documento!
Funciones con un número variable de parámetros
Para ello se requiere incluir el archivo de encabezados stdarg y declarar la función suma en el siguiente código:
#include <stdio.h>
#include <stdarg.h>
int suma(int n, ...) {
va_list ap; /* argument pointer */
int s= 0;
int k;
va_start(ap, n); /* u es el último parámetro de la parte no variable */
for (k= 0; k<n; k++)
s += va_arg(ap, int);
va_end(ap);
return s;
}
int main() {
int a= 1, b= 2, c= 3;
printf("%d\n", suma(3, 1, 2, 3));
}
La pseudo función va_arg se usa para extraer uno a uno los argumentos variables de la invocación. El tipos especificados deben coincidir exactamente con los tipos de la invocación. De otro modo los resultados son impredescibles.
Estudio en los
varargs.1346030167.txt.gz · Última modificación: por lmateu
