我是 C 新手,让我发疯的一件事是如何让我的项目的所有文件都可以看到 typedef 结构......也许是设计错误,不确定......
阶段是我有一个像这样的 typedef 结构
// File header.h
typedef struct stu {
char name[60];
char id[10];
int age;
float puntuation;
} Student;
我有几个数据结构,我想在其中使用这个 typedef,我有一个堆栈、一个哈希表和一个二叉树......我在 main.c 中包含所有
// File main.c
#include "header.h"
#include "hashtable.h"
#include "stack.h"
#include "tree.h"
我需要在哈希表和堆栈中使用学生,还需要使用树中堆栈中定义的另一个 typedef,但我无法让它工作......
编译器在 tree.h 和 tree.c 中说类型名称“stack_def”未知,如果我在 main.c 中排除 stack.h 并将其包含在 tree.h 中,那么它在 stack.h 中对 typedef Student 表示相同。
有人可以告诉我这里发生了什么吗?
谢谢。