Stdarg.h
Biblioteca padrão do C |
stdarg.h
é um cabeçalho da biblioteca padrão do C da linguagem de programação C que permite que funções utilizem um número indefinido de argumentos[1]. Ela provê facilidades de navegação entre uma lista de argumentos sem que a quantidade e o tipo de argumentos seja conhecido. A linguagem C++ implementa tal funcionalidade no cabeçalho cstdarg
; Apesar de permitido, o cabeçalho C é obsoleto no C++[carece de fontes?].
Declarando funções variádicas
Funções variádicas são funções que podem receber um número variável de argumentos, sinalizadas através de reticências no lugar do último parâmetro. Um exemplo é a função printf
. Uma declaração típica:
int check(int a, double b, ...);
As funções variádicas precisam possuir ao menos um parâmetro nomeado portanto,
char *wrong(...);
não é permitido no C.(Em C++ tal declaração é permitida, mesmo não sendo muito útil.) Em C, uma vírgula precisa preceder as reticências; no C++, é opcional.
Definindo funções variádicas
A mesma sintaxe é utilizada durante a definição:
long func(char, double, int, ...); long func(char a, double b, int c, ...) { /* ... */ }
As reticências podem aparecer em definições ao estilo antigo::
long func(); long func(a, b, c, ...) char a; double b; { /* ... */ }
Tipos stdarg.h
Nome | Descrição | Compatibilidade |
---|---|---|
va_list | tipo de iteração de argumentos | C89 |
Macros stdarg.h
Nome | Descrição | Compatibilidade |
---|---|---|
va_start | Comece a iteração com um va_list | C89 |
va_arg | Recupere um argumento | C89 |
va_end | Limpe um va_list | C89 |
va_copy | Copie o conteúdo de um va_list para outro | C99 |
Referências
- ↑ «IEEE Std 1003.1
stdarg.h
». Consultado em 4 de julho de 2009
Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.
|