¿Cómo puedo construir una función que pueda recibir 3 o 4 argumentos?

Sé que es una pregunta básica,

¿Cómo puedo construir \ escribir una función que pueda recibir 3 o 4 argumentos?

O más general, ¿cómo puedo escribir una función que pueda recibir un número desconocido de argumentos?

Gracias !

Para definir una función con un número desconocido de argumentos, el primero debe ser conocido. Luego tiene que incluir la biblioteca stdarg.h para acceder a los argumentos utilizando sus funciones: va_start, va_args, va_en y el tipo va_list.

En general la función se define de esta manera. Tenga en cuenta que el primer argumento no siempre es de tipo int . Puede ser const char * para más control sobre tus argumentos. por ejemplo en la printf() .

 type myFunction(int n, ...) { int i; va_list args; va_start(args, n); for (i=0; i 

consulte estos recursos para obtener más información sobre stdarg.h http://www.cplusplus.com/reference/cstdarg/ o http://en.wikipedia.org/wiki/Stdarg.h

Necesita una función con una lista de parámetros variadic. Usa los puntos suspensivos para definirlo:

 void foo(int first, ...) { } 

Usa var_args para analizar los parámetros. El primer parámetro se suele utilizar para

  • abordar los otros parámetros
  • controlar cómo se tratarán los otros parámetros

Para el aspecto más general, puede almacenar los argumentos en una matriz. Y luego puede pasar un puntero de la matriz o la propia matriz a la función real. Esto te permite manipular esos argumentos.