ExpertiDict

C · Intermediário · Português · Técnico

definição e declaração

/de.fi.niˈsɐ̃w i de.kla.ɾaˈsɐ̃w/substantivo

Declaração apresenta um nome e seu tipo ao compilador; definição também reserva memória ou fornece o corpo da função. Pode haver várias declarações, mas só uma definição.

Onde usar

extern int n; declara, e int n = 0; define. O erro multiple definition ocorre quando um .h tem uma definição incluída por vários .c, e undefined reference quando falta a definição.

Em código

// util.h: declaração
extern int contador;
int soma(int, int);
// util.c: definição
int contador = 0;

Exemplos

O cabeçalho só deve ter a declaração, a definição fica no .c.

Dá erro de múltiplas definições porque a definição está no .h.

Cuidado

Colocar definições de variáveis em cabeçalhos; ponha extern no .h e a definição em um único .c.

Veja também

Todos os termos de C