我正在尝试使用指向另一个结构内部的结构数组的指针,并能够引用不同的结构。不知道我是否正确执行此操作,因为我无法获取代码进行编译
typedef struct profile {
uint32 age;
uint32 height;
uint32 weight;
} profile;
typedef struct {
uint32 number_of_friends;
profile (*PROFILES)[];
} records;
// Here's how how i'm attempting to reference the above
uint32 age1;
records record1;
...
age1 = record1.PROFILES[0].age;
我得到的错误是: 错误:指向不完整类型'records []'的指针的下标
答案 0 :(得分:0)
这里似乎有两个问题。我相信,您可以在struct中声明:
profile** PROFILES;
或
profile* PROFILES[];
这些具有相同的效果。
然后,在引用该项目的地方,应该注意,数组内部是配置文件* -s,因此可以像这样引用它们:
record1.PROFILES[0]->age
还要考虑到最初没有为PROFILES分配空间,所以您将必须手动管理该成员的基础存储。