今天我的编程老师给了我们一个挑战来解决。
我们有两个结构,但每个结构都像这样使用另一个结构:
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 type non-declared”错误。
有什么办法可以解决吗?
我不知道是否存在以下结构的原型(prototype):
typedef struct NODE_A;
最佳答案
转发声明两个 typedef
可能是最简单的:
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;
};
关于c - 如何在结构中使用结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40228970/