必威体育Betway必威体育官网
当前位置:首页 > IT技术

C语言结构体数组

时间:2019-07-13 23:41:04来源:IT技术作者:seo实验室小编阅读:52次「手机版」
 

结构体数组

C语言结构体数组

所谓结构体数组,是指数组中的每个元素都是一个结构体。在实际应用中,结构体数组常被用来表示一个拥有相同数据结构的群体,比如一个班的学生、一个车间的职工等。

定义结构体数组和定义结构体变量的方式类似,请看下面的例子:

struct stu{

   char *name;  //姓名

   int num;  //学号

   int age;  //年龄

   char group;  //所在小组

   float score;  //成绩

}class[5];

表示一个班级有5个学生。

结构体数组在定义的同时也可以初始化,例如:

struct stu{

   char *name;  //姓名

   int num;  //学号

   int age;  //年龄

   char group;  //所在小组

   float score;  //成绩

}class[5] = {

   {"Li ping", 5, 18, 'C', 145.0},

   {"Zhang ping", 4, 19, 'A', 130.5},

   {"He fang", 1, 18, 'A', 148.5},

   {"Cheng ling", 2, 17, 'F', 139.0},

   {"Wang ming", 3, 17, 'B', 144.5}

};

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

struct stu{

   char *name;  //姓名

   int num;  //学号

   int age;  //年龄

   char group;  //所在小组

   float score;  //成绩

}class[] = {

   {"Li ping", 5, 18, 'C', 145.0},

   {"Zhang ping", 4, 19, 'A', 130.5},

   {"He fang", 1, 18, 'A', 148.5},

   {"Cheng ling", 2, 17, 'F', 139.0},

   {"Wang ming", 3, 17, 'B', 144.5}

};

结构体数组的使用也很简单,例如,获取 Wang ming 的成绩:

class[4].score;

修改 Li ping 的学习小组:

class[0].group = 'B';

【示例】计算全班学生的总成绩、平均成绩和以及140 分以下的人数。

#include <stdio.h>

struct{

   char *name;  //姓名

   int num;  //学号

   int age;  //年龄

   char group;  //所在小组

   float score;  //成绩

}class[] = {

   {"Li ping", 5, 18, 'C', 145.0},

   {"Zhang ping", 4, 19, 'A', 130.5},

   {"He fang", 1, 18, 'A', 148.5},

   {"Cheng ling", 2, 17, 'F', 139.0},

   {"Wang ming", 3, 17, 'B', 144.5}

};

int main(){

   int i, num_140 = 0;

   float sum = 0;

   for(i=0; i<5; i++){

   sum += class[i].score;

   if(class[i].score < 140) num_140++;

   }

   printf("sum=%.2f\naverage=%.2f\nnum_140=%d\n", sum, sum/5, num_140);

   return 0;

}

运行结果:

sum=707.50

average=141.50

num_140=2

相关阅读

C语言中-条件编译#ifdef的妙用详解_透彻

本文主要介绍c语言中条件编译相关的预编译指令,包括  #define、#undef、#ifdef、#ifndef、#if、#elif、#else、#endif、defined

小白也可驾驭的强大开源免费财务软件中文版GnuCash(多

这是一款真心好用的软件,可以偷懒的地方程序猿从不同角度都给你想到了! 几个月前被人问到有没有免费财务软件时就找到了这款开源软

C语言实现超简单贪吃蛇(代码是抄的),我做一下讲解

首先声明,代码是抄的,代码是抄的,代码是抄的,重要的事情说三遍。。如果有侵权请联系我删除。。贴原作者的视频。在b站看的,视频找不到

【日本IT】2018日本开发语言收入排名大公开 | 快来看

平均年收入:约36万人民币最大年收入:约96万人民币求人件数:2200件(按汇率为0.06计算)Go:(又称Golang)是Google开发的一种静态强类型、编译

自然语言处理中“中文分词”技术中“自动切分”的几点

概述在人工智能中,自然语言处理是一门极其深奥的领域,自然语言处理在广义上分为两部分,第一部分自然语言理解,是指让电脑“听懂”人类

分享到:

栏目导航

推荐阅读

热门阅读