当前位置:文档之家› C语言程序设计第52讲 结构体数组

C语言程序设计第52讲 结构体数组


C Programming Language
二、对结构体数组元素的操作
一个结构体数组的元素相当于一个结构体变量,因此前面 介绍的关于引用结构体变量的规则也同样适用于结构体数

组元素。
C Programming Language
【例1】统计所有雇员的平均工资,并将低于平均工资的雇 员信息打印出来。
2008001,zhangngping,26,m,1900.79
C Programming Language
三、结构体数组作为函数参数

结构体数组作为函数参数,可以分为两种情况:

结构体数组名作为函数参数

结构体数组元素作为函数参数
C Programming Language
. 【例2】用结构体数组名作为函数参数,并在自定义函数中将雇员信息打 印出来。
#include <stdio.h> struct employee 程序运行结果: { 2008001,zhanglei,24,m,1850.54 long emp_id; 2008002,liling,26,f,1990.23 char name[20]; 2008003,wangping,26,m,1900.79 int age; char sex; float pay; }; void printemp(struct employee emptmp[]) { int i; for(i=0;i<3;i++) printf("%ld,%s,%d,%c,%.2f\n",emptmp[i].emp_id,emptmp[i].name, emptmp[i].age,emptmp[i].sex,emptmp[i].pay); } main() { struct employee emp[3]={{2008001,"zhanglei",24,'m',1850.54}, {2008002,"liling",26,'f',1990.23}, {2008003,"wangping",26,'m',1900.79}}; printemp(emp);
学习目标 ⑴ 掌握结构体数组的定义和初始化方法。 ⑵ 掌握对结构体数组元素的操作方法。 ⑶ 掌握结构体数组作为函数参数的用法。
结构体数组
• 元素为结构类型的数组称为结构数组。
• 在实际应用中,经常用结构数组来表示具有相同数据结构
的一个群体。例如一个班的学员档案,一个公司的职工档 案等。
C Programming Language
一、结构体数组的定义与初始化
3.直接定义结构体数组。 例如: struct { long emp_id; char name[20]; int age; char sex; float pay; }emp[30];
C Programming Language
一、结构体数组的定义与初始化
结构体数组的初始化可以在以上三种定义方式中同时进行, 在对结构体数组元素初始化时,要将每一个元素的数据分别用 花括号括起来,如
C Programming Language
一、结构体数组的定义与初始化
2.在定义结构体类型的同时定义结构体数组。 例如: struct employee { long emp_id; char name[20]; int age; char sex; float pay; }emp[30];
C Programming Language
. #include <stdio.h> main() struct employee { { float avepay,sum=0; int i; long emp_id; /*avepay表示平均工资,sum用来统计工资总和*/ char name[20]; for(i=0;i<3;i++) int age; sum+=emp[i].pay; char sex; avepay=sum/3; float pay; printf("avepay=%.2f\n",avepay); }emp[3]={{2008001,"zhanglei",24,'m',1850.54}, for(i=0;i<3;i++) {2008002,"liling",26,'f',1990.23}, if(emp[i].pay<avepay) {2008003,"wangping",26,'m',1900.79} printf("%ld,%s,%d,%c,%.2f\n", }; emp[i].emp_id,emp[i].name, emp[i].age,emp[i].sex,emp[i].pay); 程序运行结果: } avepay=1913.85
小结
⑴ 结构体数组的定义和初始化。
⑵ 对结构体数组元素的操作方法。
⑶ 结构体数组作为函数参数。
一、结构体数组的定义与初始化
结构体数组的定义,可以采用以下三种方式之一: 1.先定义结构体类型,再定义结构体数组。 例如: struct employee { long emp_id; char name[20]; int age; char sex; float pay; }; struct employee emp[30];
struct employee { 注意:定义数组emp时,如果对全部元素 进行初始化,则数组长度可以不指定, long emp_id; 即写成这种形式: char name[20]; emp[]={{…},{…},{…}}; int age; char sex; float pay; }emp[3]={{2008001,"zhanglei",24,'m',1850.54},{2008002,"liling",26 ,'f',1990.23},{2008003,"wangping",26,'m',1900.79}};
相关主题