vs2010怎么设置结构体

源文件
void menu()
{

int quanxianflag = 0;
char name1[10];
char password1[15];
show();
initial_stuff();
initial_goods();
printf("请输入用户名:\n");
scanf("%s",name1);
printf("请输入用户密码:\n");
scanf("%s",password1);
stuffnode *p2;
p2 = stuffhead;
while(p2->next != NULL)
{
if ((strcmp( p2->s.name, name1) == 0 && strcmp( p2->s.password, password1) == 0 ) &&
((strcmp( p2->s.quanxian, "y") == 0 || strcmp( p2->s.quanxian, "Y") == 0 )))
{
quanxianflag = 1;
break;
}
else
{
p2 = p2->next;
}
}

显示错误
错误  23  error C2065: “p2”: 未声明的标识符    
警告  25  warning C4047: “=”:“int”与“stuffnode *”的间接级别不同   
错误  22  error C2275: “stuffnode”: 将此类型用作表达式非法
错误  27  error C2223: “->next”的左侧必须指向结构/联合 
错误  33  error C2198: “strcmp”: 用于调用的参数太少  
错误  29  error C2223: “->s”的左侧必须指向结构/联合

stuffnode的定义在哪里
要先定义
struct stuffnode
{

};

stuffhead 在哪里定义的
是不是stuffnode *类型

感觉你有两个结构体
一个是stuffnode,其中包含了一个s
而s是另一个结构体。

stuffnode的定义在哪里
要先定义
struct stuffnode
{
};
stuffhead 在哪里定义的
是不是stuffnode *类型
感觉你有两个结构体
一个是stuffnode,其中包含了一个s
而s是另一个结构体。