内容正文:
第9章 构造数据类型
9.1 结构体
9.2 共用体
9.3 枚举
9.4 自定义数据类型
大学C/C++语言程序设计程序设计 第9章 构造数据类型
9.1.6 结构体与函数
1.结构体变量作为函数的参数
结构体变量作为函数参数时,形参与实参的结构体变量类型应当完全一致,函数调用时直接将实参结构体变量的各个成员的值全部传递给形参结构体变量。
大学C/C++语言程序设计程序设计 第9章 构造数据类型
【例9.7】 用函数实现输出结数组元素。
#include"stdio.h”struct stu
{ int num;
char name[20];
char sex;
float score;
}student[5]= {{1001,"LiXiao", 'M', 89.00},
{1002,"Jin",'F ',90.00},
{1003,"Feng",'F ',60.50},
{1004,"Rong",'M ', 74.50},
{1005,"ZhuJi",'F ', 55.00}};
void main( )
{ void print(struct stu s);
printf("No\tName\t\tSex\tScore\t
");
for(int i=0;i<5;i++)
print(student[i]); //调用print函数输出结构体变量
}
void print(struct stu s) //定义print函数
{ printf("%d\t%s\t\t%c\t%f\t
",s.num,s.name,s.sex,s.score);
}
大学C/C++语言程序设计程序设计 第9章 构造数据类型
#include"stdio.h"
struct stu
{ int num;
char name[20];
char sex;
float score;
}student[5]={{1001,"LiXiao", 'M', 89.00},{1002,"Jin",'F',90.00},{1003,"Feng",'F',60.50},{1004,"Rong",'M', 74.50},
{1005,"ZhuJi",'F', 55.00}};
void main()
{ int i;
void print(struct stu s);
printf("No\tName\t\tSex\tScore\t
");
for(i=0;i<5;i++)
print(student[i]); //调獭?用?print函ˉ数簓输?出?结á构1体?变?量?
}
void print(struct stu s) //定¨义?print函ˉ数簓
{ printf("%d\t%s\t\t%c\t%f\t
",s.num,s.name,s.sex,s.score);
}
9.1.6 结构体与函数
2.结构体指针变量作为函数参数
【例9.8】 计算一组学生的平均成绩和不及格人数,用结构指针变量作为函数参数编程。
#include"stdio.h"
void ave(struct stu *);
struct stu{
int num;
char name[20];
char sex;
float score;
}student[5]= {{1001,"LiXiao", 'M', 89.00},
{1002,"Jin",'F',90.00},
{1003,"Feng",'F',60.50},
{1004,"Rong",'M', 74.50},
{1005,"ZhuJi",'F', 55.00}};
void main( )
{ struct stu *ps;
ps=student; //取得结构体数组首地址
ave(ps);
}
void ave(struct stu *ps)
{ int c=0,i;
float ave,s=0;
for(i=0;i<5;i++,ps++){
s+=ps->score;