c++如何从函数返回数组
导读:收集整理的这篇文章主要介绍了c++如何从函数返回数组,觉得挺不错的,现在分享给大家,也给大家做个参考。c++如何从函数返回数组?C++ 从函数返回数组C++ 不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回...
收集整理的这篇文章主要介绍了c++如何从函数返回数组,觉得挺不错的,现在分享给大家,也给大家做个参考。c++如何从函数返回数组?
C++ 从函数返回数组
C++ 不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。
如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下:
int * myFunction(){ ...}
另外,C++ 不支持在函数外返回局部变量的地址,除非定义局部变量为 static 变量。
现在,让我们来看下面的函数,它会生成 10 个随机数,并使用数组来返回它们,具体如下:
实例
#include iostream> #include cstdlib> #include ctime> using namespace std; // 要生成和返回随机数的函数int * getRandom( ){ static int r[10]; // 设置种子 srand( (unsigned)time( NULL ) ); for (int i = 0; i 10; ++i) { r[i] = rand(); cout r[i] endl; } return r; } // 要调用上面定义函数的主函数int main (){ // 一个指向整数的指针 int *p; p = getRandom(); for ( int i = 0; i 10; i++ ) { cout "*(p + " i ") : "; cout *(p + i) endl; } return 0; }
当上面的代码被编译和执行时,它会产生下列结果:
62472319014687356958071135859764956776133575041377296355153031525917789067081820354158667126415*(p + 0) : 624723190*(p + 1) : 1468735695*(p + 2) : 807113585*(p + 3) : 976495677*(p + 4) : 613357504*(p + 5) : 1377296355*(p + 6) : 1530315259*(p + 7) : 1778906708*(p + 8) : 1820354158*(p + 9) : 667126415
以上就是c++如何从函数返回数组的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: c++如何从函数返回数组
本文地址: https://pptw.com/jishu/593762.html