2010-04-29 14 views

Respuesta

15

Variadic functions

funciones variadic son funciones que pueden tener un número variable de argumentos y se declaran con una elipsis en lugar del último parámetro. Un ejemplo de dicha función es printf.

Una declaración típica es

int check(int a, double b, ...); 

funciones variadic deben tener al menos un parámetro llamado, por lo que, por ejemplo,

char *wrong(...); 

no está permitido en C.

6

El tres puntos '...' se llaman puntos suspensivos. Su uso en una función hace que la función sea variadic. Usarlos en una declaración de función significa que la función aceptará un número arbitrario de parámetros después de los definidos.

Por ejemplo:

Feeder("abc"); 
Feeder("abc", "def"); 

son todas las llamadas de función válidos, sin embargo la siguiente siquiera sería:

Feeder(); 
3

función variadic (múltiples parámetros)

wiki

#include <stdarg.h> 

double average(int count, ...) 
{ 
    va_list ap; 
    int j; 
    double tot = 0; 
    va_start(ap, count); //Requires the last fixed parameter (to get the address) 
    for(j=0; j<count; j++) 
     tot+=va_arg(ap, double); //Requires the type to cast to. Increments ap to the next argument. 
    va_end(ap); 
    return tot/count; 
} 
Cuestiones relacionadas