C语言如何从一个函数返回多个值?

2021年3月16日12:07:36 发表评论 1,396 次浏览

我们都知道, C语言中的函数只能返回一个值。那么我们如何实现返回多个值的目的。

好吧, 首先看一下函数的声明。

int foo( int arg1, int arg2);

因此, 我们可以在此处注意到, 该函数的接口仅通过参数和返回值。 (除非我们谈论修改函数内部的全局变量)

让我们更深入地看……即使一个函数只能返回一个值, 但该值可以是指针类型。没错, 现在你猜对了!

我们可以声明函数, 使其返回结构类型的用户定义变量或指向它的指针。通过结构的属性, 我们知道C中的结构可以容纳多个非对称类型的值(即, 一个int变量, 四个char变量, 两个float变量等等)

如果我们希望函数返回相同数据类型的多个值, 则可以返回指向该数据类型数组的指针。

我们还可以通过使用函数的参数使函数返回多个值。怎么样?通过提供指针作为参数。

通常, 当一个函数需要返回多个值时, 我们使用一个指针作为返回值, 而不是使用多个指针作为参数。

请参阅

如何从C或C ++中的函数返回多个值

更多细节。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: