今天,我的编程老师给了我们一个解决的挑战。
我们有两个结构,但每个结构都使用另一个结构:
typedef struct nodeA {
int data;
NODE_B *node_b;
struct nodeA *next;
} NODE_A;
typedef struct nodeB {
int data;
NODE_A *node_A;
struct nodeB *next;
} NODE_B;
当然de声明的顺序每次都会给出“NODE_X类型非声明”错误。
有什么方法可以解决这个问题吗?
我不知道是否存在结构的原型,如:
typedef struct NODE_A;
答案 0 :(得分:9)
最容易转发声明typedef
s:
typedef struct nodeA NODE_A;
typedef struct nodeB NODE_B;
struct nodeA {
int data;
NODE_B *node_b;
NODE_A *next;
};
struct nodeB {
int data;
NODE_A *node_A;
NODE_B *next;
};