Я новичок в C, одна вещь сводит меня с ума, как сделать видимым для всех файлов моего проекта структуру typedef ... Возможно, это ошибка дизайна , не уверена ...Как включить typedef во все мои файлы проекта в C
ступень у меня есть ЬурейаЯ структура, как этого
// File header.h
typedef struct stu {
char name[60];
char id[10];
int age;
float puntuation;
} Student;
у меня есть несколько структур данных, где я хочу, чтобы использовать этот ЬурейиЙ, у меня есть стек, хеш-таблица и двоичное дерево ... я включаю все в main.c
// File main.c
#include "header.h"
#include "hashtable.h"
#include "stack.h"
#include "tree.h"
Мне нужно использовать Student в хэш-таблице и стеке, а также нужно использовать другой тип typedef, определенный в стеке в дереве, но я не могу заставить его работать ...
Компилятор говорит имя типа 'stack_def' неизвестно в tree.h и tree.c, если я исключаю stack.h в main.c и включаю его в tree.h, тогда он говорит то же самое в stack.h для typedef Student.
Может кто-нибудь, пожалуйста, скажите мне, что здесь происходит?
Спасибо.
Компилятор определенно говорить * вы *, что это неправильно, но вы не говорите * нам *. – Jon
Когда вы просите о помощи в любой компьютерной проблеме, вы ** должны ** указать, что происходит не так и что вы хотите. Например, если есть сообщение об ошибке компилятора, покажите его (в этом случае желаемое поведение не является сообщением). Если программа работает, но показывает неправильный вывод, покажите неправильный вывод и покажите, что вы хотите. Когда это возможно, вы должны показать весь исходный код и ввод, необходимый для воспроизведения проблемы. Это может потребовать удаления части программы, чтобы уменьшить ее до [короткого, автономного, компилируемого примера] (http://sscce.org/). –
Все, что я пропустил, теперь #included ... :) – josecash