Funções com número variável de argumentos

Publicado por Fabio Junior Sabai 23/11/2004

[ Hits: 6.959 ]

Download var_args.c




Uma grande facilidade que a linguagem C oferece mas poucas pessoas conhecem (na verdade todas conhecem, mas poucas sabem como usar) são as funções com número variável de argumentos. A função printf é um exemplo. Para usar esta facilidade existem as funções do arquivo stdarg.h. No trecho de código a seguir mostro um exemplo do uso dessas funções. É simples, mas dá pra se ter uma idéia e adaptar para suas necessidades.

  



Esconder código-fonte

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

void
function(int n_args, ...)
{
    va_list args;

    va_start(args, n_args);

    int i = 4;
    while ( i-- )
 printf("%s\n", va_arg(args, char *));

    n_args -= 4;
    while ( n_args-- > 0 )
 printf("%d\n", va_arg(args, int));

    va_end(args);
}

main()
{
    function(9, "ola mundo", "hello world", "hola mundo", "bonjour monde", 11, 12, 10, 27, 14);
    function(3, "slackware", "linux", "10.0");
    function(8, "linux", "kernel", "final", "version", 2, 6, 8, 1);
}

Scripts recomendados

Lista dinâmica de variáveis

Árvore AVL, usando arquivos para armazenamento de dados

Arquivos utilizados no artigo: "Desenvolvendo um plugin para o XMMS"

Derrubando Win9x/Win2k !

Rotina para controle de portas paralelas em C. (biblioteca LP.h)


  

Comentários
[1] Comentário enviado por genioloco em 09/02/2006 - 21:02h

Muito legal esta ferramenta que todos tem à mão, mas poucos utilizam.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts