1. 主页
  2. 文档
  3. C语言教程
  4. C语言函数
  5. 如何从函数返回多个值

如何从函数返回多个值

我们都知道 C 中的函数只能返回一个值。那么我们如何达到返回多个值的目的呢。
好吧,首先看一下函数的声明。

int foo(int arg1, int arg2);

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

让我们更深入地了解一下……即使一个函数只能返回一个值,但该值可以是指针类型。没错,现在你猜对了!
我们可以这样声明函数,它返回一个结构类型的用户定义变量或指向它的指针。并且通过结构的性质,我们知道C中的结构可以保存多个非对称类型的值(即一个int变量,四个char变量,两个float变量等等……)

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

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

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

这篇文章对您有用吗?