Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

80
Visualizações
C - Function with Variadic Arguments

I would like to make a function that can take a variable number of parameters at once to do something like this:

void function(char *args[]){ ... } 

int main(){
   function("a","b","c");
}
over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

You are looking for Variadic functions.

Check this example:

#include <stdio.h>
#include <stdarg.h>

double average(int num, ...) {

   va_list valist;
   double sum = 0.0;
   int i;

   /* initialize valist for num number of arguments */
   va_start(valist, num);

   /* access all the arguments assigned to valist */
   for (i = 0; i < num; i++) {
      sum += va_arg(valist, int);
   }
    
   /* clean memory reserved for valist */
   va_end(valist);

   return sum/num;
}

int main(void) {
   printf("Average of 2, 3, 4, 5 = %f\n", average(4, 2, 3, 4, 5));
   printf("Average of 5, 10, 15 = %f\n", average(3, 5, 10, 15));
}

Output:

Average of 2, 3, 4, 5 = 3.500000
Average of 5, 10, 15 = 10.000000

Read more in Variadic Functions in C and the Reference.


Tip: Think twice before using Variadic functions. As @user694733 commented, they have no compile time type safety or protection against invalid number of arguments. They can usually be avoided with better program design.

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda