请选择 进入手机版 | 继续访问电脑版
贠老师培训群:150322713    贠老师QQ:767708506

贠老师office培训-excel学习网

 找回密码
 立即注册
点击咨询贠老师
查看: 192|回复: 7

[C语言] C语言结构体数组

[复制链接]

3172

主题

3269

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
22691
发表于 2015-12-24 21:26:12 | 显示全部楼层 |阅读模式
结构体数组的每一个元素都是结构体。在实际应用中,经常用结构体数组来表示一个拥有相同数据结构的群体,比如一个班的学生,一个车间的职工等。

定义结构体数组和定义结构体变量的方式类似,例如:
  • struct stu{
  •     char *name;
  •     int num;
  •     char sex;
  •     float score;
  • }class[5];


表示该班级有5个学生。

结构体数组可以初始化赋值,例如:
  • struct stu{
  •     char *name;
  •     int num;
  •     char sex;
  •     float score;
  • }class[5 = {
  •     {"Li ping", 5, 'M', 45},
  •     {"Zhang ping", 4, 'M', 62.5},
  •     {"He fang", 1, 'F', 92.5},
  •     {"Cheng ling", 2, 'F', 87},
  •     {"Wang ming", 3, 'M', 58}
  • };


当对数组中全部元素赋值时,也可不给出数组长度。

结构体数组的使用也很简单,例如,获取“Wang ming”的成绩:class[4].score;【示例】计算学生的平均成绩和不及格的人数。
  • #include <stdio.h>
  • struct stu{
  •     char *name;
  •     int num;
  •     char sex;
  •     float score;
  • }class[5 = {
  •     {"Li ping", 5, 'M', 45},
  •     {"Zhang ping", 4, 'M', 62.5},
  •     {"He fang", 1, 'F', 92.5},
  •     {"Cheng ling", 2, 'F', 87},
  •     {"Wang ming", 3, 'M', 58}
  • };
  • int main(){
  •     int i, fail_num=0;
  •     float average, sum=0;
  •     for(i=0; i<5; i++){
  •         sum += class[i].score;
  •         if(class[i].score < 60) fail_num++;
  •     }
  •     printf("sum=%.2f\naverage=%.2f\nfail_num=%d\n", sum, sum/5, fail_num);
  •     return 0;
  • }


运行结果:
sum=345.00
average=69.00
fail_num=2
回复

使用道具 举报

0

主题

843

帖子

6

积分

注册会员

Rank: 2

积分
6
发表于 2016-1-6 15:09:00 | 显示全部楼层
赞赞
回复 支持 反对

使用道具 举报

2

主题

948

帖子

83

积分

注册会员

Rank: 2

积分
83
发表于 2016-1-21 16:05:45 | 显示全部楼层
学习贵在坚持哦
回复 支持 反对

使用道具 举报

1

主题

886

帖子

5

积分

注册会员

Rank: 2

积分
5
发表于 2016-2-17 11:59:25 | 显示全部楼层
写的不错,支持一下哟
回复 支持 反对

使用道具 举报

0

主题

590

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2016-10-15 11:29:51 | 显示全部楼层
有些不是太明白,研究研究再说
回复 支持 反对

使用道具 举报

1

主题

1042

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2018-1-6 09:18:49 | 显示全部楼层
顶楼主,帮你顶个贴,我挣个积分
回复 支持 反对

使用道具 举报

2

主题

941

帖子

108

积分

注册会员

Rank: 2

积分
108
发表于 2018-6-17 11:37:46 | 显示全部楼层
还有许多问题不明白,有点恼火啊!
回复 支持 反对

使用道具 举报

1

主题

1042

帖子

76

积分

注册会员

Rank: 2

积分
76
发表于 2018-10-24 14:10:19 | 显示全部楼层
希望楼主能够收集更多的资料,谢谢了!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



陕ICP备15003731号  

贠老师培训 GMT+8, 2018-11-21 01:52 , Processed in 0.227045 second(s), 33 queries .

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