stdarg.h

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
Biblioteca padrão do C


Translation Latin Alphabet.svg
Este artigo ou secção está a ser traduzido de en:stdarg.h. Ajude e colabore com a tradução.

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[editar | editar código-fonte]

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[editar | editar código-fonte]

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[editar | editar código-fonte]

Nome Descrição Compatibilidade
va_list tipo de iteração de argumentos C89

Macros stdarg.h[editar | editar código-fonte]

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

  1. IEEE Std 1003.1 stdarg.h. Página visitada em 2009-07-04.


Ícone de esboço Este artigo sobre programação de computadores é um esboço. Você pode ajudar a Wikipédia expandindo-o.