C 会员申请';nama';在非结构或联盟中
所以我有这段代码,但当我运行它时,它显示“错误:请求非结构或联合中的成员'nama'。 这是一个管理员程序,当你购买电影票时,模块需要管理员的名字来打印在票上C 会员申请';nama';在非结构或联盟中,c,C,所以我有这段代码,但当我运行它时,它显示“错误:请求非结构或联合中的成员'nama'。 这是一个管理员程序,当你购买电影票时,模块需要管理员的名字来打印在票上 struct admin { char nama[100]; char id[100]; char password[100]; }; struct admin pengatur[100]; ModeAdmin(pengatur[counter]); void ModeAdmin(struct admin *c
struct admin
{
char nama[100];
char id[100];
char password[100];
};
struct admin pengatur[100];
ModeAdmin(pengatur[counter]);
void ModeAdmin(struct admin *c)
{
struct admin pembuka;
strcpy(pembuka.nama,c.nama);
strcpy(pembuka.id,c.id);
strcpy(pembuka.password,c.password);
printf("Welcome %s",pembuka.nama);
printf("1. Print Ticket\n");
printf("2. Add New Film\n");
}
改变
到
以及所有其他类似的c.
这是必要的,因为虽然pembuka
类型为struct admin
,c
只是指向一个的指针。这:
c.nama
应该是:
c->nama
由于
c
不是结构或联合,它是指向结构的指针。c
是指向结构的指针,而不是结构本身,因此不能在其上使用
运算符。您需要改为使用->
,这将取消对指针的引用,然后获取成员:
strcpy(pembuka.nama,c->nama);
strcpy(pembuka.id,c->id);
strcpy(pembuka.password,c->password);
struct admin
的定义是什么?对不起,我忘了将c.
添加到c->
。例如c.nama
应该是c->nama
c->
等同于(*c)。
。谢谢你,你知道吗?
c->nama
strcpy(pembuka.nama,c->nama);
strcpy(pembuka.id,c->id);
strcpy(pembuka.password,c->password);