2020-10-22力扣笔记

it2026-08-05  20

#c语言返回多个值

在C语言bai中,一般情况下函数的返回值是通过du函数中的return语句来实zhi现的,每调用dao一次return语句只能从函数中返回一个值。但在实际很多应用中,我们需要从函数中返回多个值,那我们可以用什么方法实现呢?此时我们可以用三种方法来实现。 ##方法一:设置全局变量 全局变量是在函数外部定义的全局变量,它不属于任何一个函数,其作用域是从变量的定义处开始,到本程序文件的结尾。在此作用域内,全局变量可为各个函数所引用。当我们需要函数返回多个值时,除了函数体中的return语句返回其中一个之外,其它的返回值我们可以通过定义全局变量来处理。因为根据全局变量的特点,在被调用函数中改变了多个全局变量和值,相当于其主调函数全局变量的值也发生了变化,也就相当于返回了多个值。 ##方法二:使用数组名或指针作为函数的形参 数组名或者指针实际为地址,而数组一般都包括多个元素,指针也可以指向一组数据的着地址,把数组名或者指针作为函数形参,实际上相当于主调函数的实参与形参共用地址,所以在函数中的数组元素发生改变即是实参也随之改变。也相当于在调用函数时多个值返回给主调函数。

##方法三:使用结构体指针作为函数的形参

编写返回多个值的C语言函数,可以考虑采用结构体的方式去实现。如果返回的数个数值的数据类型不一致,可以通过定义全局变量实现有多个返回值的C语言函数,也可以考虑把要求返回的数个值定义成一个结构体,然后同样以传递结构体指针方式把结构体的指针传递给形参结构体指针,那么函数中对形参结构体的修改即是对实参结构体的修改,函数被调用后获取的实参结构体成员即为函数的多个返回值,下面以实例演示该方法的应用。

##注意: c语言库函数malloc() C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。

**该函数返回一个指针 ,指向已分配大小的内存。如果请求失败,则返回 NULL。**
最新回复(0)