我们都知道,C语言中的函数只能返回一个值。那么我们如何实现返回多个值的目的。
好吧,首先看一下函数的声明。
int foo(int arg1, int arg2);
因此,我们可以在此处注意到,该函数的接口仅通过参数和返回值。 (除非我们谈论修改函数内部的全局变量)
让我们更深入地看……即使一个函数只能返回一个值,但该值可以是指针类型。没错,现在您猜测正确!
我们可以对函数进行声明,使其返回结构类型的用户定义变量或指向它的指针。通过结构的属性,我们知道C中的结构可以容纳多个非对称类型的值(即,一个int变量,四个char变量,两个float变量等等)
如果我们希望函数返回相同数据类型的多个值,则可以返回指向该数据类型数组的指针。
我们还可以通过使用函数的参数使函数返回多个值。如何?通过提供指针作为参数。
通常,当一个函数需要返回多个值时,我们使用一个指针作为返回值,而不是使用多个指针作为参数。
请参阅如何从C或C++中的函数返回多个值?更多细节。
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。