第一个结构体要使用下面两个结构体,第二个结构体又要使用第一个结构体,第三个结构体也要使用第二个结构体。
然后我就在最上面声明了最下面的两个结构体。
但是这上面我明明声明了下面的两个结构体,为什么编译器还是提示报错?
结构体的定义应该在前,结构体跟类型一样,不能这样声明之后在定义使用的!而且不能互相这样使用!如果要使用,可以先定义成另外一个结构体!记住一个规则,先定义,再使用!
去main中检查下三个结构体的调用顺序
关于结构体嵌套定义问题,前面struct book;定义格式错误,改正即可使用
不知道你这个问题是否已经解决, 如果还没有解决的话:#define MAX_VERTEX_NUM 20 //图的邻接表存储表示
typedef struct ArcNode{
int adjvex; //该弧所指向的顶点的位置
struct ArcNode *nextarc; //指向下一条弧的指针
InfoType *info; //该弧相关信息的指针
}ArcNode;
typedef struct VNode {
VertexType data; //顶点信息
ArcNode *firstarc; //指向第一条依附该顶点弧的指针
}VNode,AdjList[MAX_VERTEX_NUM]
Typedef struct {
AdjList vertices;
int vexnum,arcnum; //图的当前顶点数和弧数
int kind; //图的种类标志
}ALGraph;