Compartilhar via


Especificadores de classe de armazenamento com declarações de função

Você pode usar o estático ou o extern especificador de classe de armazenamento nas declarações de função.Funções sempre têm vidas úteis de globais.

Específicos do Microsoft

Declarações de função no nível interno têm o mesmo significado como declarações de função no nível externo.Isso significa que uma função é visível a partir do ponto da declaração em todo o restante da unidade de conversão, mesmo se ele é declarado no escopo local.

Específicos do Microsoft final

As regras de visibilidade para funções variam um pouco das regras para variáveis, da seguinte maneira:

  • Uma função declarada para ser estático é visível apenas dentro do arquivo de origem no qual ela está definida.Funções no mesmo arquivo de origem podem chamar o estático função, mas funções em outros arquivos de origem não é possível acessá-lo diretamente por nome.Você pode declarar outro estático função com o mesmo nome em um arquivo de origem diferente sem conflito.

  • Funções declaradas como extern são visíveis em todos os arquivos de origem no programa (a menos que você redeclare mais tarde uma função como estático).Qualquer função pode chamar um extern função.

  • As declarações de função omitir o especificador de classe de armazenamento são extern por padrão.

Específicos do Microsoft

Microsoft permite que a redefinição de um extern identificador como estático.

Específicos do Microsoft final

Consulte também

Referência

C Classes de armazenamento