首页 百科知识 结构体类型数组作为函数参数

结构体类型数组作为函数参数

时间:2022-09-22 百科知识 版权反馈
【摘要】:前面介绍了普通数组作为函数的参数,即用数组作参数时,实参向形参传递的实际是数组的起始地址,是地址传递,对形参数据的修改实际上就是对实参数据的修改。同样,在程序中也可以使用结构体类型数组作函数的参数,将该结构体类型数组的地址传给形参。例8.12 有一个结构体类型数组student,内含几个学生学号、姓名、性别和成绩。ave函数对ps所指向的数组进行操作,就是对main函数中的student数组进行操作。

8.4.3 结构体类型数组作为函数参数

前面介绍了普通数组(包括整型数组、浮点型数组和字符型数组)作为函数的参数,即用数组作参数时,实参向形参传递的实际是数组的起始地址,是地址传递,对形参数据的修改实际上就是对实参数据的修改。同样,在程序中也可以使用结构体类型数组作函数的参数,将该结构体类型数组的地址传给形参。

例8.12 有一个结构体类型数组student,内含几个学生学号、姓名、性别和成绩。要求编程计算这组学生的平均成绩,并统计不及格的人数。

程序如下:

img620

img621

程序运行结果如下:

img622

上面的程序中,定义了一个struct stu类型,在main函数中定义了一个struct stu类型数组student。调用ave函数时,以数组名student作函数的实参进行数据传递,将数组student的地址传给形参ps,此时,ps指向数组student。ave函数对ps所指向的数组进行操作,就是对main函数中的student数组进行操作。

当使用数组名作函数的实参进行数据传递时,要求形参也应当为同类型的数组名或指向同类型数据的指针变量。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈