首页 百科知识 使用函数运算不要参数可以省略吗

使用函数运算不要参数可以省略吗

时间:2022-10-16 百科知识 版权反馈
【摘要】:由于结构可以整体赋值,所以可以将结构作为值参数传递给函数,也可以定义返回结构值的函数。作为传值的结构参数具有清晰的语义,是一种很常用的方式。如果函数fun2有一个结构指针参数ps,调用fun2时将结构变量s的地址(值)传递给ps,函数fun2还可以通过ps对s进行修改。

6.5 函数与结构

由于结构可以整体赋值,所以可以将结构作为值参数传递给函数,也可以定义返回结构值的函数。使用函数处理存储在结构中的数据,有三种不同方法:

1.将结构成员的值传递给函数处理(传数据值)。

2.将整个结构变量作为参数传递给函数(传数据值),一般将这种参数称作结构参数。

3.将结构的地址(值)传递给函数(传地址值),即传递指向结构的指针值,这称为结构指针参数。

第2、3种方式都是将结构作为整体进行处理,但这两种参数的作用方式和效果不同。

如果函数fun1 有一个结构参数xcans,在用结构变量scans 作为实参调用时(假定scans的类型匹配),scans的值将传递给xcans,函数fun对xcans的修改不会改变实参scans。作为传值的结构参数具有清晰的语义,是一种很常用的方式。例如:

img420

img421

如果被处理的结构很大,(多次)复制将耗费很多时间,可以考虑用地址值的传递。如果函数fun2有一个结构指针参数ps,调用fun2时将结构变量s的地址(值)传递给ps(假定类型匹配),函数fun2还可以通过ps对s进行修改。例如:

img422

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

我要反馈