返回值为字符型的函数 c语言中函数返回值可以是数组、字符串和结构体吗?
c语言中函数返回值可以是数组、字符串和结构体吗?
//从语法编码规则的角度看,ansic语言标准明确规定数组类型和函数类型不能作为返回值。解决这个问题的方法是通过指针间接返回值,即使用数组指针和函数指针。这可能是在C语言中引入指针的另一个原因。结构类型可以用作返回值。我猜当时C语言的设计者引入了struct结构的概念,是为了添加一种机制来创建一种新型的C语言。换句话说,它希望struct创建的类型与内置int float类型一样易于使用。//从汇编的角度来看,有两种返回值方法。第一种方法是直接返回寄存器。第二种方法是类似于返回值的结构来建立一个临时存储区。例如int的返回值类型和指针的返回值类型都直接返回到IA32平台上的eax寄存器中,无论是VC还是GCC,例如IA32平台上的float,type的浮点返回值类型通常借助FPU浮点运算单元中的寄存器存储在堆栈中。第三种类型是struct structure的返回值,需要建立临时对象。对于C语言来说,引入一个临时的内部区域并不是一个大问题,但对于C语言来说,这有时是致命的。我希望我能帮助你。房东英俊,浪漫,一定是世界上的英雄。诚邀您加入0x30贴吧,共商义举,共建不朽功业!
返回值为字符型的函数 return怎么返回字符串 c语言函数返回
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。