<强> c++如何从函数返回数组吗? 强>
c++从函数返回数组
c++不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。
如果您想要从函数返回一个一维数组,您必须声明一个返回指针的函数,如下:
int * myFunction () { . . . }
另外,c++不支持在函数外返回局部变量的地址,除非定义局部变量为静态变量。
现在,让我们来看下面的函数,它会生成10个随机数,并使用数组来返回它们,具体如下:
实例
# include & lt; iostream> # include & lt; cstdlib> # include & lt; ctime> 使用名称空间性病;//要生成和返回随机数的函数 int * getRandom () { 静态r int [10];//设置种子 将srand ((unsigned)时间(NULL)); for (int i=0;我& lt;10;+ + i) { r[我]=rand (); cout & lt; & lt;[我]r & lt; & lt;endl; } 返回r; }//要调用上面定义函数的主函数 int main () {//一个指向整数的指针 int * p; p=getRandom (); for (int i=0;我& lt;10;我+ +) { cout & lt; & lt;“*”(p + & lt; & lt;我& lt; & lt;“:”; cout & lt; & lt;* (p + i) & lt; & lt;endl; } 返回0; }
当上面的代码被编译和执行时,它会产生下列结果:
624723190 1468735695 807113585 976495677 613357504 1377296355 1530315259 1778906708 1820354158 667126415 * (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++如何从函数返回数组的详细内容,如果大家还有任何补充可以联系小编。