我必须创建一个人,每个人都应该有一个冰箱。这是最好的方法吗?如果是这样,我做错了什么?提前致谢。
typedef struct {
int age;
struct FRIDGE fridge;
} PERSON;
typedef struct {
int number;
} FRIDGE;
FRIDGE fr;
fr.number=1;
PERSON me;
me.name=1;
me.fridge = fr;
这给了我以下错误:
error: field ‘fridge’ has incomplete type
最佳答案
struct FRIDGE
与 FRIDGE
不同。
您需要在其他结构中使用 FRIDGE
类型。
typedef struct {
int age;
FRIDGE fridge;
} PERSON;
或者将你的冰箱定义为 struct FRIDGE
struct FRIDGE {
int number;
};
此外,在使用之前可能必须定义该结构(例如,在人的上方)。
关于c - 结构内部结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14040612/