首页 百科知识 结构体类型变量作函数参数

结构体类型变量作函数参数

时间:2022-09-22 百科知识 版权反馈
【摘要】:例8.10 有一个结构体变量stu,内含学生学号、姓名和3门课的成绩。上面的程序中,定义了一个struct student类型,在main函数中定义了一个struct student类型变量stu,并对stu进行初始化。在主调函数中使用结构体类型变量或变量的成员作函数的实参进行数据传递时,一定要保证形参的类型与实参一致。

8.4.1 结构体类型变量作函数参数

1.结构体类型变量的成员作函数参数

前面介绍了在程序中可以直接引用结构体类型变量各成员的值,因此,在函数调用时,也可以将结构体类型变量各成员的值作为函数的实参进行数据传递。其用法和用普通变量作函数实参是一样的,属于“值传递”方式。

例如:

img612

注意:

在调用函数时,实参与形参的类型要保持一致。

2.结构体类型变量作函数参数

C语言(ANSI C)允许使用结构体变量作实参进行数据传递,将主调函数中结构体变量所占用内存单元的内容全部顺序传递给形参。这是一种“值传递”方式,要求形参也必须是同类型的结构体变量。

例如:

img613

例8.10 有一个结构体变量stu,内含学生学号、姓名和3门课的成绩。要求分别编写两个不同的函数输出学生的学号、姓名和3门课的成绩及总成绩。

程序如下:

img614

img615

程序运行结果如下:

img616

上面的程序中,定义了一个struct student类型,在main函数中定义了一个struct student类型变量stu,并对stu进行初始化。调用pri1函数时,以结构体类型变量stu作函数的实参进行数据传递;调用pri2函数时,以结构体类型变量stu的score成员作函数的实参进行数据传递。在主调函数中使用结构体类型变量或变量的成员作函数的实参进行数据传递时,一定要保证形参的类型与实参一致。

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

我要反馈