Stdarg.h
Declarando funções variádicasFunçõ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 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ádicasA 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 |
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