ganz einfach, stell Dir mal vor, Du bindest die Headerdatei zweimal ein,
einmal in Modul 1 und dann in Modul 2.
Hast Du ein Programm mit beiden Modulen, dann würde die selbe
Headerdatei zweimal eingebunden und es kommt zu
Fehlermeldungen/Warnungen wegen doppelter Namensvergabe.
Also bedient man sich eines Tricks, man definiert eine Konstante und mit
äifndef -> if not defined
wird dann geprüft, ob die define-Anweisung schon existiert, dann wird
die Anweisung innerhalb des Blocks
#ifndef
...
#endif
abgearbeitet, ansonsten nicht.