1、问题描述:在写程序的过程中,我们往往需要返回多个参数值,所以会考虑用到数组作为返回参数。但是如何返回数组呢?
2、方案一:返回数组指针
(1)返回数组指针
#include <iostream>
using namespace std;
int *testreturn()
{
int *a;
a=new int[3];
for(inti=0; i<3;i++)
a[i]=2*i+1;
return a;
}
void main()
{
int temp;
int *b;
b=testreturn();//此时b为指向数组a的指针
for(inti=0; i<3;i++)
cout<<b[i]<<endl;
cin>>temp;
system("pause");
}
方案二:定义一个结构体,用结构体存储数组。然后引用结构体借以输出数组。
#include <iostream>
using namespace std;
class structArray
{
public:
int a[3];
}Atest;
class structArray testRe()
{
for(int i=0;i <3 ;i++)
{
Atest.a[i]=2*i+1;
//cout<<Atest.a[i]<<" ";
}
return Atest;
}
void main()
{
int temp;
class structArray b=testRe();
for(int i=0; i<3;i++)
cout<<b.a[i]<<" ";
cout<<endl;
cin>>temp;
}
参考:http://blog.sina.com.cn/s/blog_6f26189101012111.html