Gast
#475354
Hj auf der Seite http://de.wikibooks.org/wiki/C-Programmierung:_Eigene_Header versuche ich die Notwendigkeit von Headerdateien zu verstehen. Warum braucht man Headerdateien? Kann ich nicht den Inhalt der Header einfach in meine main.c schreiben? Dient das nur der Übersichtlichkeit? In dem Link ist ja ein schönes Beispiel. Ich verstehe nicht warum in der Headerdatei nochmal das #ifndef MYHEADER_H auftritt. Denn der Fall des Nichtvorhandenseins der myheader.h kann ja garnicht eintreffen, da in der .c Datei die myheader.h auf jeden Fall aufgerufen wird. Das einzige was ich mir vorstellen könnte ist dieser Ablauf: 1. Programmstart: myheader.c Datei aufrufen 2. Erste Anweisung: myheader.h öffnen 3. #ifndef MYHEADER_H ausführen -> im "Rechner-Gehirn" ist das Wort "MYHEADER_H" noch nicht bekannt, also die IF Bedingung auswerten (PI usw. definieren) 4. bei Ende der myheader.h weitermachen in myheader.c 5. Falls irgendwo (in irgendeiner .c Datei) nochmal "include myheader.h" auftritt, würde die IF Anweisung in der myheader.h NICHT ausgewertet (Doppelinitialisierungen vermeiden) da sie im "Rechner-Gehirn" schon definiert wurde. Ist es das?