tl2655600 发表于 2009-4-10 12:18:46

lavax有关于结构体定义的问题

我用的是yan的编译器,想定义一个这样的结构体,该怎样做?

struct ss
{
char name;
int age;
int score;
}studs[]={{"赵一",15,90},{"钱二",16,80},{"孙十一",17,85}};

这一段在yan的编译器上能通过,只不过在调用时(printf(studs.name);)会出现火星文。

yan 发表于 2009-4-10 12:36:18

编译器的语法还是和C有差距的,正确的是这样的:struct ss
{
char name;
int age;
int score;
};
struct ss studs;

void main()
{
strcpy(studs.name, "赵一");
studs.age = 15;
studs.score = 90;
strcpy(studs.name, "钱二");
studs.age = 16;
studs.score = 80;
strcpy(studs.name, "孙十一");
studs.age = 17;
studs.score = 85;
}

tl2655600 发表于 2009-4-10 18:06:12

如果我要定义100多个呢?也这样一个一个的来?

yan 发表于 2009-4-10 23:29:02

恩。:)

tl2655600 发表于 2009-4-11 12:27:53

:L 汗,有没有简便方法?比如调用数据文件?关键是结构体怎么调用呢?

yan 发表于 2009-4-11 18:55:10

你可以把数据整齐的写到一个文件,然后程序去读这个文件到结构体。

tl2655600 发表于 2009-4-11 21:36:37

可不可以告诉我方法呢?难道就是
char fp;
struct ss studs;
fp=fopen("\a","r");
fread(studs,1,1000,fp);
明显不对呀!
或者是
struct ss fp;
struct ss studs;
fp=fopen("\a","r");
fread(studs,1,1000,fp);
疑团未解

yan 发表于 2009-4-12 02:49:16

fread(studs,1,sizeof(studs),fp);
页: [1]
查看完整版本: lavax有关于结构体定义的问题