Как мне связать два файла заголовка, которые зависят друг от друга с их c-файлами?Связывание нескольких файлов заголовков с c-файлами
Например у меня есть файл stack.h
, который зависит от структуры, объявленной в linkedlist.h
, а файл «stack.c» вызовы на функциях из linkedlist.c
, которые зависят от обоих файлов заголовков. main.c
зависит от обоих файлов заголовков
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;
Я не уверен, что 'linkedlist.h' нуждается в * ничего * из' stack.h', основываясь исключительно на том, что вы здесь показали. – WhozCraig
Я объявляю listNode * list. Может быть, мне нужно просто typedef структурировать его там, вместо того, чтобы пытаться включить linkedlist.h. – FreeStyle4
Как я уже сказал, ничто в 'linkedlist.h' не ссылается и не требует * ничего * из' stack.h'. Противоположно, очевидно, не так; 'stack.h' явно нуждается в' linkedlist.h'. Но из того, что вы опубликовали, '#include" stack.h "' в 'linkedlist.h' совершенно бессмысленно. – WhozCraig