c++函数返回值~~

来源:百度知道 编辑:UC知道 时间:2024/06/07 14:30:56
fun(*p)
{
...//对p指向的数组进行处理
return xx;
}
希望xx是p指针指向的数组经处理后所得的数组

有没有办法用函数实现呢
应该是double *fun(){...return q;}Orz

可以的。直接返回P就是。 下面执行对数组a加一操作
#include<iostream.h>
int * add(int * &p)
{
if(p==NULL)
{
return NULL;
}
else
{
int i=0;
while(p[i]!=NULL)
{
p[i]=p[i]+1;
i++;
}
return p;
}
}

void main()
{
int * a=new int [5];
for(int i=0;i<5;i++)
{
a[i]=i+1;
}
add(a);
for( i=0;i<5;i++)
{
cout<<a[i]<<" ";
}

}
this指针只针对于对象的,别弄混概念。
要把指针赋值给数组,不能那样赋值。例如:double a[5];
double *b;
不能 *a=*b; 理由:*b表示是指针放的值。*a,*a是数组头元素,相当于只赋值第一个元素.
应该是依次把每个元素都赋值。
像这个情况可以这样赋值:
int i=0;
while(b[i]!=NULL)
{
if(i<50)
{
a[i]=b[i];
i++;
}
}//只要b[i],就要一直赋,直到b[i]为空,或者a满。

return p;在对P进行下个函数操作就行啦··
如果一定要是输出数组的话,就把数组定义为全局变量,那样fun()输入的可以是数组变量也可以是p指针变量··
要不就在主函数中可以数组变量,fun()的输入加上个输入的变量数组,那样输出的数组就是变化了的数组,即也可以在主函数中使用了··