我有以下代码:
people[nextfreeplace] -> personName = name;
people[nextfreeplace] -> age = age;
typedef struct person
{
char *personName;
int age;
}Person;
人员声明为Person *people[]
我收到错误:请求非结构或 union 中的成员“personName”
error: request for member 'age' in something not a structure or union
但我不确定该程序出了什么问题。
谢谢
最佳答案
我假设 people
是一个 Person *
或 Person[]
。
当使用运算符->
时,您可以取消引用并访问该变量。它相当于执行 (*var).personName
.
用点更改 ->
,就像使用 person[1] 时一样,您已经取消引用了指针,然后像使用简单的 Person var< 一样访问您的变量
people[nextfreeplace].personName = name;
people[nextfreeplace].age = age;
关于c - 请求非结构或 union 中的成员?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13065450/