函数可以返回结构体的原因

Posted zzfx

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了函数可以返回结构体的原因相关的知识,希望对你有一定的参考价值。

 C 语言中函数返回结构体时如果结构体较大, 则在调用函数中产生该结构的临时变量,并将该变量首地址传递给被调用函数,被调用函数返回时根据该地址修改此临时变量的内容,之后在调用函数中再将该变量复制给用户定义的变量,这也正是 C 语言中所谓值传递的工作方式。
    如果结构体较小, 则函数返回时所用的临时变量可保存在寄存器中,返回后将寄存器的值复制给用户定义的变量即可。

 

http://blog.csdn.net/guoqianqian5812/article/details/46708177

以上是关于函数可以返回结构体的原因的主要内容,如果未能解决你的问题,请参考以下文章

返回结构体的函数

c语言 结构体的指针作为函数参数问题

结构体的一些容易被忽略的重要知识

C语言如何返回结构体数组

c语言中函数返回值可以是数组、字符串和结构体吗?

c语言函数能不能返回结构体