首页 百科知识 结构指针及结构变量的传址调用

结构指针及结构变量的传址调用

时间:2024-10-17 百科知识 版权反馈
【摘要】:但是这种传送要将全部成员逐个传送,特别是成员为结构数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。因此最好的办法就是使用指针的传址方式,即用指针变量作函数参数进行传送。boy被定义为外部结构数组,因此其作用载在整个源程序中有效。在main函数中定义说明了结构指针变量p,并把boy的首地址赋予它,使p指向boy数组。由于本程序全部采用指针变量来运算和处理,故速度更快,程序效率更高。

6.5.1 结构指针及结构变量的传址调用

在ANSI C标准中允许用结构变量作函数参数进行整体传送。但是这种传送要将全部成员逐个传送,特别是成员为结构数组时将会使传送的时间和空间开销很大,严重地降低了程序的效率。因此最好的办法就是使用指针的传址方式,即用指针变量作函数参数进行传送。这时由实参传向形参的只是地址,从而减少了时间和空间的开销。

例6-17 计算一组学生的平均成绩和不及格人数。

img539

img540

本程序中定义了函数ave,其形参为结构指针变量ps。boy被定义为外部结构数组,因此其作用载在整个源程序中有效。在main函数中定义说明了结构指针变量p,并把boy的首地址赋予它,使p指向boy数组。然后以p作实参调用函数ave。在函数ave中完成计算平均成绩和统计不及格人数的工作并输出结果。由于本程序全部采用指针变量来运算和处理,故速度更快,程序效率更高。

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

我要反馈