在高精度计算,排序,递推等模块里,数组是常用的,可不可以把数组作为函数的参数传入传出呢?比较简单的方法是把数组定义在某个结构体里面,用structure形式进行传入传出。也可以像快速排序归并排序程序里面那样数组作为全局变量只传下标。硬要数组输入输出的话要用指针转换一下:
- #include <iostream>
- using namespace std;
- const int mx=5;
- int a[mx]= {1,2,3,4,5},b[mx]= {1,1,1,1,1};
- int * add(int a[],int b[])
- {
- int *temp = new int[mx]; ///新定义一个指针,准备返回它的值
- for (int i=0; i<=mx-1; i++) temp[i]=a[i]+b[i];
- return temp;
- }
- int main()
- {
- int *p; ///不可以写p[mx];
- p=add(a,b); ///指针调用
- for (int i=0; i<mx; i++) cout<<*(p+i)<<' ';
- return 0;
- }
复制代码
|