c语言子函数怎么返回数组
我做题时,需要用到一个子函数,子函数的变量是一个数组,经过子函数运算后,返回来的仍然是一个数组,定义时把子函数定义为double型了,希望返回的数组也是double型,请...
我做题时,需要用到一个子函数,子函数的变量是一个数组,经过子函数运算后,返回来的仍然是一个数组,定义时把子函数定义为double型了,希望返回的数组也是double型,请问怎么返回。我不想用指针,只想用数组型的,返回值也是数组型的。
这个程序只是一个小部分,这个返回来的数组还要用于后面的其他数组计算,因为改成指针的话前面很多程序都得改动非常麻烦,所以不想用指针。请大家帮我想想怎么弄 展开
这个程序只是一个小部分,这个返回来的数组还要用于后面的其他数组计算,因为改成指针的话前面很多程序都得改动非常麻烦,所以不想用指针。请大家帮我想想怎么弄 展开
5个回答
展开全部
//最好是这样做
void fun(double in_out_data[], unsigned size)
{
//直接处理in_out_data进来的数据
}
//非要返回数组就这样
double* fun(double in_data[])
{
double* ret = new double[你要返回的大小];
//处理数据
return ret;
}
//或是这样
double* fun(double in_data[])
{
//处理in_data里边的数据
return in_data;
}
void fun(double in_out_data[], unsigned size)
{
//直接处理in_out_data进来的数据
}
//非要返回数组就这样
double* fun(double in_data[])
{
double* ret = new double[你要返回的大小];
//处理数据
return ret;
}
//或是这样
double* fun(double in_data[])
{
//处理in_data里边的数据
return in_data;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
更多追问追答
追问
能举个例子么
追答
如果是c语言,返回值只能是数组首地址。也就是说还得用指针。。。
你可以用传递参数的形式来实现在函数内进行运算
比如
void func(char a[10])
{
a[0] = 1;
}
调用这个函数之后,a[10]这个数组的第一个原数就等于1了
但是在函数内部,其实你传递进来的还是数组a的首地址,系统会自动给你转化的
记住main中调用函数的时候要写
func(a);
不要写成func(a[10]);因为a[10]不是数组,而是数组的第10个元素
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
double *shuzuhua()
{
double *pp = new double[100];
pp[0]= 0.333;
pp[88]=9993;
return pp;
}
double *shuzu=shuzhhua();
这样你就可以使用double数组了,上面定义了100个double的数组。
返回的pp你可以直接使用。
如:shuzu[0]的值为0.333
shuzu[88]的值为9993;
{
double *pp = new double[100];
pp[0]= 0.333;
pp[88]=9993;
return pp;
}
double *shuzu=shuzhhua();
这样你就可以使用double数组了,上面定义了100个double的数组。
返回的pp你可以直接使用。
如:shuzu[0]的值为0.333
shuzu[88]的值为9993;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接return那个数组名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询