Definición y declaración

En C existe una clara diferencia entre estos dos términos que en otros leguajes se emplean indistintamente.

La diferencia significativa es que la definición implica reserva de espacio y la declaración sólo supone dar información al compilador sobre un elemento que está definido en otro lugar.

Según esta terminología las declaraciones en C son las que se producen en las siguientes situaciones:

Las declaraciones se pueden repetir tantas veces como se quiera, la definición debe ser única.