c - 请求非结构或 union 中的成员?

标签 c arrays pointers

我有以下代码:

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/

相关文章:

java - 如何将Byte数组转换为整数,然后转换为字符串,以显示整数值?

php - 如何减少向数组添加值的时间?

java - getByte() 为不同的字符串返回相同的字节[]

c - 使用全局变量而不是指针有优势吗?

c - 如何将字符串数组从函数传递给 main

c - 是否有不支持可重入互斥锁或递归锁的平台?

c - 无符号整数上的运算实际上是如何发生的?

c - 另一个快速三角函数

c++ - 什么是智能指针,我应该什么时候使用它?

c - 将除\r 之外的所有字符添加到新字符串