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

Funções estáticas em C

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

Sobre Funções estáticas

Por omissão, as funções têm ligação externa e podem ser chamadas a partir de qualquer outro ficheiro do projeto. Para saberes mais sobre ligação, consulta o conceito de ligação. Uma função static só pode ser chamada dentro do ficheiro de código-fonte onde é 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 num ficheiro de cabeçalho, se for definida como static não poderá ser chamada de fora do seu ficheiro de código-fonte. Um ficheiro de código-fonte pode incluir o cabeçalho, chamar a função static declarada no cabeçalho e compilar, mas o ligador não vai conseguir encontrar a definição da função static. Uma função marcada como static num ficheiro de código-fonte não deve ser declarada no seu ficheiro de cabeçalho.

Editar via GitHub A ligação abre numa nova janela ou separador