【摘要】:前面介绍了普通数组作为函数的参数,即用数组作参数时,实参向形参传递的实际是数组的起始地址,是地址传递,对形参数据的修改实际上就是对实参数据的修改。同样,在程序中也可以使用结构体类型数组作函数的参数,将该结构体类型数组的地址传给形参。例8.12 有一个结构体类型数组student,内含几个学生学号、姓名、性别和成绩。ave函数对ps所指向的数组进行操作,就是对main函数中的student数组进行操作。
8.4.3 结构体类型数组作为函数参数
前面介绍了普通数组(包括整型数组、浮点型数组和字符型数组)作为函数的参数,即用数组作参数时,实参向形参传递的实际是数组的起始地址,是地址传递,对形参数据的修改实际上就是对实参数据的修改。同样,在程序中也可以使用结构体类型数组作函数的参数,将该结构体类型数组的地址传给形参。
例8.12 有一个结构体类型数组student,内含几个学生学号、姓名、性别和成绩。要求编程计算这组学生的平均成绩,并统计不及格的人数。
程序如下:
程序运行结果如下:
上面的程序中,定义了一个struct stu类型,在main函数中定义了一个struct stu类型数组student。调用ave函数时,以数组名student作函数的实参进行数据传递,将数组student的地址传给形参ps,此时,ps指向数组student。ave函数对ps所指向的数组进行操作,就是对main函数中的student数组进行操作。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。