Eine Deklaration ist eine 'Bekanntgabe' eines Identifiers an den Compiler.
So erklärt
extern double aValue; double add( double, double );
dem Compiler, dass der Symbolname aValue
vom Typ double
ist, also eine (Fließ-)Komma-Zahl, die irgendwo anders definiert wird.
Weiterhin ist add
eine Funktion, die einen double
-Wert zurückgibt und zwei Parameter besitzt, die ebenfalls double
-Werte sind. Auch hier fehlt die Definition. Es wird also nur bekanntgegeben, dass add
eine Funktion ist und wie man sie richtig aufruft, ohne dass der Compiler weiß, wie die Funktion intern aussieht.
Der Compiler kann mit Deklarationen Dinge kompilieren, weil er bereits weiß, was die Identifier bedeuten, ohne zu wissen, wo sie konkret definiert werden.
Ein Identifier darf in einem ausführbaren Programm nur einmal definiert werden, aber beliebig häufig (identisch) deklariert werden.
Glossar: Definition