C 语言中函数返回结构体时如果结构体较大, 则在调用函数中产生该结构的临时变量,并将该变量首地址传递给被调用函数,被调用函数返回时根据该地址修改此临时变量的内容,之后在调用函数中再将该变量复制给用户定义的变量,这也正是 C 语言中所谓值传递的工作方式。
如果结构体较小, 则函数返回时所用的临时变量可保存在寄存器中,返回后将寄存器的值复制给用户定义的变量即可。
http://blog.csdn.net/guoqianqian5812/article/details/46708177
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了结构体状态复位函数/使用完后将结构体恢复成初始值的怎么写呢?相关的知识,希望对你有一定的参考价值。
参考技术A 方法是有的,不过并不太赞成这种做法,不过如果仅仅是作为初始化使用的话,可以先定义一个初始化的函数,并保证在别的地方不再调用这个函数,倒也可以行,代码如下: C 语言中函数返回结构体时如果结构体较大, 则在调用函数中产生该结构的临时变量,并将该变量首地址传递给被调用函数,被调用函数返回时根据该地址修改此临时变量的内容,之后在调用函数中再将该变量复制给用户定义的变量,这也正是 C 语言中所谓值传递的工作方式。
如果结构体较小, 则函数返回时所用的临时变量可保存在寄存器中,返回后将寄存器的值复制给用户定义的变量即可。
http://blog.csdn.net/guoqianqian5812/article/details/46708177
以上是关于结构体状态复位函数/使用完后将结构体恢复成初始值的怎么写呢?的主要内容,如果未能解决你的问题,请参考以下文章