C语言学习与总结---第十章:结构(Struct)[02]

结构(Struct)[02]

3. 结构数组

将具有相同结构类型的变量组长起来,形成一个结构数组。结构数组是结构与数组的结合,与普通数组的不同之处在于每个数组元素都是一个结构类型的的数据,包括各个成员项。
结构数组的定义方法与普通数组的定义方法相同,不过此时的类型是结构。在定义结构数组是,也可以同时对其初始化,其格式与二维数组的初始化类似。

#include<stdio.h>  
truct student {
   
     
char* name;  //姓名  
int num;     //学号  
float score; //分数  
}stu[3] = {
   
      //结构数组名为stu,相当于有三个学生项,每个项都包含结构体student里面的成员  
		{
   
   "Tom",16160001020,125.3},  
		{
   
   "Jack",16160001021,135.1},  
		{
   
   "Cindy",16160001043,90.5}  
};

当对数组中全部元素赋值时,可以不给出数组长度,如第6行可以为stu[] = ……

结构数组元素的引用是通过数组下标与结构成员操作符“.”相结合的方式来实现,一般格式为:

	结构数组名[下标].结构成员名

例如,获取Jack的成绩:

stu[1].score; 

修改Tom的学号:

stu[0].num=16160002023;

例,输出全部信息,计算该班级分数的平均数以及找出100分以下的人并输出其姓名.

#include<stdio.h>  
struct student {
   
     
    char* name;  //姓名  
    char* num;     //学号  
    float score; //分数  
}stu[4] = {
   
      //结构数组名为stu,相当于有4个学生项,每个项都包含结构体student里面的成员  
    {
   
   "Tom","16160001020",125.3},  
    {
   
   "Jack","16160001021",135.1},  
    {
   
   "Cindy","16160001043",90.5},  
    {
   
   "Eva","16160001053",101.6}  
};  
int main()  
{
   
     
    int i;  
    float sum = 0, average;  
    printf("姓名\t学号\t\t成绩\n");  
    for (i = 0; i < 4; i++
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值