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

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐