Funções com número variável de argumentos
Publicado por Fabio Junior Sabai 23/11/2004
[ Hits: 7.392 ]
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.
#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); }
Estrutura de dados: Lista dinâmica duplamente encadeada
Atenção a quem posta conteúdo de dicas, scripts e tal (6)
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
O mínimo que você precisa saber sobre o terminal (parte 2)
O mínimo que você precisa saber sobre o terminal (parte 1)
Como iniciar uma máquina virtual do VirtualBox automaticamente no boot do LUbuntu 18 LTS
Mudar o gerenciador de login (GDM para SDDM e vice-versa) - parte 2
Como deixar as abas do Firefox mais fininhas
Mudar o gerenciador de login (GDM para SDDM)
"Tentando" fazer com que programas rodem no Wayland e no X11
Porblema com MergeList [RESOLVIDO] (10)
Melhor hospedagem em nuvem para projetos Laravel com baixo custo? [RES... (7)
Como baixar os drivers de áudio no linux mint? (7)
Como posso localizar o arquivo HTML da página inicial do GLPI dentro d... (2)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta