C语⾔基础知识:C语⾔函数调⽤怎么返回两个值自定义函数怎么用c语言
在C语⾔中,函数只能返回⼀个值,要返回两个值,可以改换思路,通过其它⽅式做到。
1 建⽴数组,返回数组⾸地址(指针)。
在要返回的两个值类型相同时,可以⽤创建数组的⽅式,将要返回的值存在数组中,并返回数组⾸地址,这样就可以实现返回两个值的效果。
需要注意的是,要返回数组⾸地址,那么返回的值不可以是局部变量,有如下⼏种是可以的:
a) 使⽤静态局部变量存储,并返回地址;
b) 使⽤全局变量存储,返回地址;
c) 函数中动态分配内存,并返回申请到的地址,此种⽅法需要注意,在使⽤后需要释放;
d) 在参数中传⼊数组地址,并返回。即返回的实际上是主调函数中的变量地址。
2 建⽴结构体,返回结构体指针/结构体变量。
将需要返回的值,写成结构体形式,并返回结构体变量或返回结构体指针,这样可以实现⼀个返回值中含有多组数据。
3 当数据规模较⼩时,可以采⽤将⼩规模数据合并为⼤规模数据的⽅式,进⾏返回。
⽐如,需要返回两个char型数据时,可以通过返回⼀个short数据,⾼地位分别存储各⾃的值。
4 输出型参数返回
还可以不使⽤返回值的⽅式,⽽是通过函数参数传值,如使⽤输出型参数,举个例⼦:对于strcpy函数原型:
char *strcpy(char *strDest,const char *strSrc)
解析:strDest为输出型参数。
输出型参数与输⼊形参数解析:⼀般不带const的是输出型参数,使⽤const修饰的是输⼊形参数,如strSrc
5 使⽤全局变量

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。