ExpertiDict

C · Essencial · Inglês · Técnico

static

/ˈstæ.tɪk/palavra-chave

Palavra-chave com dois usos: em variável local, faz o valor persistir entre chamadas; em função ou variável global, limita a visibilidade ao arquivo de origem (ligação interna).

Onde usar

Aparece em code review quando alguém quer um contador privado ou esconder funções auxiliares de um .c. Marcar helpers como static evita colisão de nomes na hora de ligar o programa.

Em código

static int proximo(void) {
  static int n = 0;   // criada uma só vez
  return ++n;
}
int main(void) {
  proximo();
  return proximo();   // sai com código 2
}

Exemplos

Make that helper static so it stays private to the file.

Deixe esse helper static para ele ficar privado ao arquivo.

A static local keeps its value between calls.

Uma variável local static mantém o valor entre as chamadas.

Cuidado

Confundir com o static de outras linguagens: em C ele não cria membro de classe, e a variável local static é inicializada uma única vez.

Sinônimos

ligação interna

Antônimos

extern

Veja também

Todos os termos de C