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

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

 

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

posted @ 2018-01-24 15:35  zzfx  阅读(291)  评论(0编辑  收藏  举报