易码技术论坛

 找回密码
 加入易码
搜索
查看: 1334|回复: 7

[求助] lavax有关于结构体定义的问题

[复制链接]
发表于 2009-4-10 12:18:46 | 显示全部楼层 |阅读模式
我用的是yan的编译器,想定义一个这样的结构体,该怎样做?

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

这一段在yan的编译器上能通过,只不过在调用时(printf(studs[1].name);)会出现火星文。
发表于 2009-4-10 12:36:18 | 显示全部楼层
编译器的语法还是和C有差距的,正确的是这样的:
  1. struct ss
  2. {
  3.   char name[10];
  4.   int age;
  5.   int score;
  6. };
  7. struct ss studs[3];

  8. void main()
  9. {
  10.   strcpy(studs[0].name, "赵一");
  11.   studs[0].age = 15;
  12.   studs[0].score = 90;
  13.   strcpy(studs[1].name, "钱二");
  14.   studs[1].age = 16;
  15.   studs[1].score = 80;
  16.   strcpy(studs[2].name, "孙十一");
  17.   studs[2].age = 17;
  18.   studs[2].score = 85;
  19. }
复制代码
 楼主| 发表于 2009-4-10 18:06:12 | 显示全部楼层
如果我要定义100多个呢?也这样一个一个的来?
发表于 2009-4-10 23:29:02 | 显示全部楼层
恩。
 楼主| 发表于 2009-4-11 12:27:53 | 显示全部楼层
汗,有没有简便方法?比如调用数据文件?关键是结构体怎么调用呢?
发表于 2009-4-11 18:55:10 | 显示全部楼层
你可以把数据整齐的写到一个文件,然后程序去读这个文件到结构体。
 楼主| 发表于 2009-4-11 21:36:37 | 显示全部楼层
可不可以告诉我方法呢?难道就是
char fp;
struct ss studs[3];
fp=fopen("\a","r");
fread(studs,1,1000,fp);
明显不对呀!
或者是
struct ss fp;
struct ss studs[3];
fp=fopen("\a","r");
fread(studs,1,1000,fp);
疑团未解
发表于 2009-4-12 02:49:16 | 显示全部楼层
fread(studs,1,sizeof(studs),fp);
您需要登录后才可以回帖 登录 | 加入易码

本版积分规则

Archiver|手机版|小黑屋|EMAX Studio

GMT+8, 2024-3-29 00:35 , Processed in 0.012004 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表