Trilhas
/
C
C
/
Programa
/
Funções estáticas
Fu

Funções estáticas em C

{one: "1 exercício", many: "%{count} de exercícios", other: "%{count} exercícios"}

Sobre Funções estáticas

Por padrão, as funções têm ligação externa e podem ser chamadas de qualquer outro arquivo do projeto. Para saber mais sobre ligação, consulte o conceito de ligação. Uma função static só pode ser chamada dentro do arquivo-fonte em que é definida.

Por exemplo

// file scope, internal linkage
// can only be called from within this file
static void some_function()
{
    // code snipped
}

// file scope, external linkage by default
// can be called from any other file in the project
int main()
{
    // code snipped
}

Mesmo que uma função seja declarada em um cabeçalho, se ela for definida como static, não será possível chamá-la de fora do seu arquivo-fonte. Um arquivo-fonte poderia incluir o cabeçalho, chamar a função static declarada nele e compilar, mas o linker não conseguirá encontrar a definição da função static. Uma função marcada como static em um arquivo-fonte não deve ser declarada no seu arquivo de cabeçalho.

Editar via GitHub O link abre em uma nova janela ou aba