2016-05-31 16 views
1

Wie würde ich über das Verknüpfen von 2 Header-Dateien, die voneinander abhängen, mit ihren c-Dateien gehen?Verknüpfen mehrerer Header-Dateien mit c-Dateien

Zum Beispiel habe ich eine Datei stack.h, die in linkedlist.h erklärte auf einer Struktur abhängig ist, und die Datei „stack.c“ ruft Funktionen von linkedlist.c, die auf beiden Header-Dateien ab. main.c hängt sowohl von Header-Dateien

linkedlist.h

#include <stdio.h> 
#include <stdlib.h> 
#include "stack.h" 
struct listNode 
{ 
    int nodeValue; 
    struct listNode * next; 
}; 

typedef struct listNode listNode; 

stack.h

#include "linkedList.h" 
    typedef struct stack { 
     listNode *list; 
    }stack; 
+1

Ich bin nicht davon überzeugt, dass 'linkedlist.h' * irgendetwas * von' stack.h' braucht, einzig basierend auf dem, was Sie hier gezeigt haben. – WhozCraig

+0

Ich erkläre listNode * list. Vielleicht sollte ich einfach dort auch defdef struct eingeben, anstatt zu versuchen, includedlis.h einzubinden. – FreeStyle4

+2

Wie gesagt, nichts in 'linkedlist.h' scheint sich auf * stack.h' zu beziehen. Das Gegenteil ist offensichtlich nicht der Fall; 'stack.h' benötigt eindeutig' includedlist.h'. Aber von dem, was Sie gepostet haben, ist '#include" stack.h "' in 'linkedlist.h' völlig sinnlos. – WhozCraig

Antwort

1

Wie würde ich mich über zwei Header-Dateien verknüpft, die

aufeinander

abhängen

Nicht. Sie sollten nie ein solches Szenario haben oder Ihr Programmentwurf ist kaputt.

Für Ihr spezifisches Beispiel scheint es, dass Sie versuchen, einen Stack-ADT zu implementieren, indem Sie eine verknüpfte Liste verwenden. Wenn ja, sollte der Stack die verknüpfte Liste ADT enthalten und das wars.

Verwandte Themen