Definition und Deklaration in C

Tester-Testet

Cadet 2nd Year
Registriert
Aug. 2018
Beiträge
26
Hallo zusammen,

ich hätte da mal so eine Verständnis Frage zu Definitionen und Deklarationen in C.

Aktuell habe ich das Problem, das mein Compiler sagt:

'function 1' multiply defined
'function 2' multiply defined
'function 3' multiply defined

Also kurz zu meinem Aufbau:

Datei 1 [

function 1 {}

function 2 {}

function 3 {}

]

Datei 2 [

#include 'Datei 1'

function 4 {} // function 4 kann alle anderen Funktionen öffnen, das bedeutet ja, dass Funktion 5-7 vor Funktion 4 deklariert werden müssen
function 5 {}

function 6 {}

]


Datei 3 [
#include 'Datei 2'

function 7 {}

]

Oder wie genau muss eine Deklaration, Definition aussehen ?
 
Du musst die Funktionen in einer oder mehreren Headerdateien *.h deklarieren und sie dann in einer oder mehreren Sourcedateien *.c implementieren. Includiert werden dann nur die *.h Dateien.
 
  • Gefällt mir
Reaktionen: hroessler
Wenn du nicht nur pseudo-code posten würdest, würde man sich mit der Hilfestellung leichter tun.

Deutest du mit den geschweiften Klammern an, dass sich in Header-Files die Implementierung und nicht nur der Prototyp einer Funktion befindet? Das macht nämlich, abgesehen von öffentlichen inline-Funktionen, keinen Sinn.
Oder werden hier Quelldatein inkludiert? Das würde schon gleich zweimal keinen Sinn machen.

So ist das alles etwas Stochern im Dunkeln.
 
Zuletzt bearbeitet:
Zurück
Oben