Definições de função c
Uma definição de função especifica o nome da função, os tipos e o número de parâmetros, que ele espera receber e seu tipo de retorno.Uma definição de função também inclui um corpo de função com as declarações de variáveis locais e as instruções que determinam o que faz a função.
Sintaxe
unidade de conversão:
declaração de Externaldeclaração de unidade de conversão externo
declaração de External: / * permitido somente no escopo externo (arquivo) * /
definição de funçãodeclaration
definição de função: / * Declarador aqui é o Declarador de função * /
especificadores de declaração optseq do atributo optDeclarador declaração-list optdeclaração de compostos/ * atributo-seq é específico do Microsoft * /
Parâmetros de protótipo são:
especificadores de declaração:
especificadores de declaração de especificador de classe de armazenamento optespecificadores de declaração de especificador de tipo opt
especificadores de declaração de qualificador de tipo opt
lista de declaração:
declaraçãodeclaração da lista de declaração
declarator:
ponteiro optDeclarador de directDeclarador de Direct: / * Declarador uma função * /
Declarador de Direct ( lista de tipo de parâmetro ) / * Declarador de novo estilo * /Declarador de Direct ( - lista de identificadores de opt**)** / * Declarador obsoleto estilo * /
A lista de parâmetros em uma definição utiliza esta sintaxe:
lista de tipo de parâmetro: / * lista de parâmetros * /
lista de parâmetroslista de parâmetros**,...**
lista de parâmetros:
declaração de parâmetrolista de parâmetros**,** declaração de parâmetro
declaração de parâmetro:
Declarador de especificadores de declaraçãoespecificadores de declaração abstraem Declarador opt
A lista de parâmetros em uma definição de função de estilo antigo utiliza esta sintaxe:
lista de identificador: / * usados em declarações e definições de função de estilo obsoletos * /
identifierlista de identificador**,** identificador
A sintaxe para o corpo da função é:
- instrução de compostos: / * corpo da função * /
{ declaration-list optstatement-list opt**}**
Os especificadores de classe de armazenamento único que podem modificar uma declaração de função são extern e estático.O extern especificador significa que a função pode ser referenciada de outros arquivos; ou seja, o nome da função é exportado para o vinculador.O estático especificador significa que a função não pode ser referenciada de outros arquivos; ou seja, o nome não é exportado pelo vinculador.Se nenhuma classe de armazenamento aparece em uma definição de função, extern será adotada.Em qualquer caso, a função está sempre visível do ponto de definição para o final do arquivo.
Opcional especificadores de declaração e obrigatório declarator juntos, especifique o tipo de retorno da função e o nome.O declarator é uma combinação do identificador que nomeia a função e os parênteses após o nome da função.Opcional atributo-seq não-terminal é específica da Microsoft recurso definido em Atributos da função.
O direta-Declarador (na declarator sintaxe) Especifica o nome da função que está sendo definido e os identificadores de seus parâmetros.Se o direta-Declarador inclui um lista de tipo de parâmetro, a lista especifica os tipos de todos os parâmetros.Tal um Declarador também serve como um protótipo de função para posteriores chamadas para a função.
A declaration na declaração-list na função definições não podem conter um especificador de classe de armazenamento diferente de registrar.O especificador de tipo na especificadores de declaração sintaxe pode ser omitido, somente se o registrar classe de armazenamento é especificado para um valor de int tipo.
O declaração de compostos é o corpo da função que contém declarações de variável locais, referências a itens declarados externamente e instruções.
As seções Atributos da função, Classe de armazenamento, Tipo de retorno, parâmetros de, e Corpo da função descrever os componentes de definição de função em detalhes.