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: 2012/08/27 01:16 por lmateu