Funções com número variável de argumentos
Publicado por Fabio Junior Sabai 23/11/2004
[ Hits: 7.347 ]
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); }
Jantar dos Filósofos - Programação Paralela
AIMG-mostrar imagem fraquimentada em pontos aleatórios
Deixando o Gnome bonitão em qualquer distribuição
Como ativar o módulo de cancelamento de ruído no Pipewire
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Papagaiando (enfeitando) o KDE com efeitos do KWiN Burn My Windows
Como centralizar o widget Gerenciador de Tarefas Apenas Com Ícones do Painel do KDE
Checar seu IP externo no terminal
Rede cabeada limitando a 100Mbps (5)
LocalSend, uma alternativa ao Warpinator? (2)
GRUB do Debian 12 não detecta segundo Linux instalado em partição BTRF... (32)
Performance na OpenGL melhor no Windows do que Linux, mas Vulkan rodan... (5)