起初我猜想 k1 的值不会在主空间中。但是后来我意识到一个数组是一个指针,那么有什么区别吗?我认为这是相同的,但也许任何人都可以找到其他一些技术差异。也许更快地传递指针?
#include <iostream>
using namespace std;
void g(double [],int );
void f(double* [],int );
int main()
{
int n = 10;
double *k1, *k2;
k1 = new double[n];
k2 = new double[n];
g(k1,n);
f(&k2,n);
for(int i = 0;i <n;i++)
{
cout << k1[i]<< " ";
cout << k2[i] << endl;
}
delete [] k1;
delete [] k2;
return 0;
}
void g(double h[],int n)
{
for(int i = 0;i <n;i++)
h[i]=i;
}
void f(double* h[],int n)
{
for(int i = 0;i <n;i++)
(*h)[i]=i;
}