C 错误:在此代码中请求非结构或联合中的成员
我得到了一个错误:在这个代码中请求某个不是结构或联合的成员C 错误:在此代码中请求非结构或联合中的成员,c,struct,C,Struct,我得到了一个错误:在这个代码中请求某个不是结构或联合的成员 int main() { char Oberon; struct Oberon { short borsa_oro; short punti_ferita; short incantesimi; short pozione_guaritrice; short veleno; char armatura; char arma; }; Oberon.borsa_o
int main() {
char Oberon;
struct Oberon {
short borsa_oro;
short punti_ferita;
short incantesimi;
short pozione_guaritrice;
short veleno;
char armatura;
char arma;
};
Oberon.borsa_oro=10;
Oberon.punti_ferita=5;
Oberon.incantesimi=2;
Oberon.pozione_guaritrice=5;
strcpy (Oberon.armatura, "Vesti del mago");
strcpy (Oberon.arma, "Spada di Oberon");
return 0;
}
我应该怎么做?结构不是这样使用的。您还有一个同名的char
char-Oberon代码>删除或重命名它
结构只是描述一种数据类型,你仍然需要初始化它们,就像其他任何结构一样;
例如:
要简化这一点,请使用typedef
typedef struct person {
int age;
...
} person;
person p;
p.age = 10;
我想你的意思是创建一个类似于player
struct的东西,然后创建Oberon,他是一个struct播放器
您还忘记将内存块与armatura
和arma
关联
您还尝试在定义结构之前创建player的实例
所以我想你的意思是:
#include <stdio.h>
#include <string.h>
int main(void)
{
struct player {
short borsa_oro;
short punti_ferita;
short incantesimi;
short pozione_guaritrice;
short veleno;
char armatura[50];
char arma[50];
};
struct player Oberon;
Oberon.borsa_oro = 10;
Oberon.punti_ferita = 5;
Oberon.incantesimi = 2;
Oberon.pozione_guaritrice = 5;
strcpy (Oberon.armatura, "Vesti del mago");
strcpy (Oberon.arma, "Spada di Oberon");
printf("Oberon ha %d oro e utilizza la armatura %s\n", Oberon.borsa_oro, Oberon.armatura);
return 0;
}
#包括
#包括
内部主(空)
{
结构播放器{
短博尔萨奥罗;
短蓬蒂乌费里塔;
短白炽灯;
短pozione_guaritrice;
短veleno;
char armatura[50];
char-arma[50];
};
结构球员奥伯伦;
Oberon.borsa_oro=10;
Oberon.punti_ferita=5;
Oberon.incantesimi=2;
Oberon.pozione_guaritrice=5;
strcpy(Oberon.armatura,“马戈博物馆”);
strcpy(Oberon.arma,“Spada di Oberon”);
printf(“Oberon ha%d oro e utilizza la armatura%s\n”,Oberon.borsa_oro,Oberon.armatura);
返回0;
}
1)char-Oberon代码>更改为struct Oberon Oberon代码>并移动到struct Oberon{…}
2)char armatura之后;查尔·阿玛代码>-->char armatura[32];char-arma[32]代码>“我应该怎么做?”仔细查看编译器的警告/错误消息指向的代码行?
#include <stdio.h>
#include <string.h>
int main(void)
{
struct player {
short borsa_oro;
short punti_ferita;
short incantesimi;
short pozione_guaritrice;
short veleno;
char armatura[50];
char arma[50];
};
struct player Oberon;
Oberon.borsa_oro = 10;
Oberon.punti_ferita = 5;
Oberon.incantesimi = 2;
Oberon.pozione_guaritrice = 5;
strcpy (Oberon.armatura, "Vesti del mago");
strcpy (Oberon.arma, "Spada di Oberon");
printf("Oberon ha %d oro e utilizza la armatura %s\n", Oberon.borsa_oro, Oberon.armatura);
return 0;
}