【结构体里的数组】
我是这样定义的。。#pragma pack(1)
typedef struct birth{
int year;
int month;
int day;
};
typedef struct worker{
int id;
char name[100];
int age;
struct birth birthday;
};
#pragma pack()
struct worker *id[99];
char inputstr[100];
char *pinputstr;
char choose[10];
int idno;
用到结构体的代码是这样写的。。
for(addk=0;addk<a;addk++)
{
if(inputstr[addk]==','||inputstr[addk]=='/')
{
switch(adda)
{
case 1:
id[idno]->id=(int)tempstr;
break;
case 2:
id[idno]->name=tempstr; //提示在这个地方把name改成char name就不会提示。。请问怎么改。。
break;
case 3:
id[idno]->age=(int)tempstr;
break;
case 4:
id[idno]->birthday.year=(int)tempstr;
break;
case 5:
id[idno]->birthday.month=(int)tempstr;
break;
case 6:
id[idno]->birthday.day=(int)tempstr;
break;
default:
idno++;
if(idno==100)
{
printf("数据已经达到最大上限100条!!\n请输入-1返回上一目录\n");
backresult(pinputstr);
}
adda=1;
break;
}
memset(tempstr,0,sizeof(char)*100);
}else{
tempstr[addk]=inputstr[addk];
}
编译的时候提示:
efile\hello\hello\add.c(32): error C2106: “=”: 左操作数必须为左值