Programmieren C -->Header Frage

Joined
Apr 8, 2007
Messages
6,474
Points
0
hi ... ich hab wahrscheinlich eine simple Frage für euch^^ ...wir haben jetzt nach JAVA mit C angefangen ... und ich hab ein Problem mit dem Header ... also das Verständnis an sich is schon da aber ich finde das is irgendwie doppelt gemoppelt^^ ich gebe mal nen Beispiel:

wenn ich z.b. die Dateien ... zahlen.c verdoppel.c verdoppeln.h habe... in verdoppeln.c stehen ja genau die selben "Methoden" bloss mit Rumpf wie in verdoppeln.h ... wenn ich jetzt sagen wir eine Zahl in zahlen.c einlese und sie in der funktion in verdoppeln.c verdoppeln will ... dann muss ich ja verdoppeln.h includen ... bei Java z.b. hab ich die Klasse direkt mehr oder weniger importiert... ich verstehe nicht genau was die .h macht, is die einfach nur dafür da um der "Klasse" die Methoden bekannt zu machen ? ... weil ohne .h kennt er die Methoden der anderen "Klasse" ja gar nicht
 
du hast deine Frage schon richtig beantwortet ;)

Wiki said:
Newer compiled languages (such as Java, C#) do not use forward declarations; identifiers are recognized automatically from source files and read directly from dynamic library symbols. This means header files are not needed.

Das erklärt dann auch gleich mal den von dir angesprochenen Unterschied zu Java.
 
Soweit ich weiß teilt man die Klassen hauptsächlich aus organisatorischen Gründen in .c und .h auf. In .h hast du deine Klassendeklaration und die Definitionen kommen dann in die .c. Du könntest also auch die Klassendeklaration und die Methodendefinitionen in die gleiche Datei schreiben und die includen, aber dann hast du eben nicht auf einen Blick alle Methoden/Attribute sondern musst immer durch die 1000 Zeilen Code scrollen nur um die einen Überblick über die Klasse zu verschaffen.

Wenn ich mich recht erinnere reicht es auch nur die .h zu includen. Bin aber nicht 100% sicher weil ich schon ne Weile kein C mehr programmiert habe... Kannst es ja mal testen :)
 
Back
Top Bottom