c语言子函数怎么返回数组

我做题时,需要用到一个子函数,子函数的变量是一个数组,经过子函数运算后,返回来的仍然是一个数组,定义时把子函数定义为double型了,希望返回的数组也是double型,请... 我做题时,需要用到一个子函数,子函数的变量是一个数组,经过子函数运算后,返回来的仍然是一个数组,定义时把子函数定义为double型了,希望返回的数组也是double型,请问怎么返回。我不想用指针,只想用数组型的,返回值也是数组型的。
这个程序只是一个小部分,这个返回来的数组还要用于后面的其他数组计算,因为改成指针的话前面很多程序都得改动非常麻烦,所以不想用指针。请大家帮我想想怎么弄
展开
 我来答
dwjchdu
2011-10-31 · TA获得超过5914个赞
知道大有可为答主
回答量:4576
采纳率:60%
帮助的人:1105万
展开全部
接楼上
所以,你的子函数定义应该是整形的,不能使双精度型的!因为你要返回的是数组的地址!
OGRobot
2011-10-31 · TA获得超过1516个赞
知道小有建树答主
回答量:335
采纳率:100%
帮助的人:611万
展开全部
//最好是这样做
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;
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
来自海印寺芳香袭人&#x00A0;的啄木鸟
推荐于2017-09-29 · TA获得超过2439个赞
知道小有建树答主
回答量:501
采纳率:0%
帮助的人:440万
展开全部
如果是c语言,返回值只能是数组首地址。也就是说还得用指针。。。

你可以用传递参数的形式来实现在函数内进行运算
更多追问追答
追问
能举个例子么
追答
如果是c语言,返回值只能是数组首地址。也就是说还得用指针。。。 

你可以用传递参数的形式来实现在函数内进行运算
比如
void func(char a[10])
{
a[0] = 1;
}

调用这个函数之后,a[10]这个数组的第一个原数就等于1了
但是在函数内部,其实你传递进来的还是数组a的首地址,系统会自动给你转化的

记住main中调用函数的时候要写
func(a);
不要写成func(a[10]);因为a[10]不是数组,而是数组的第10个元素
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
pengyun1314123
2011-10-31 · TA获得超过1458个赞
知道小有建树答主
回答量:1049
采纳率:0%
帮助的人:525万
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Mythos104
2015-10-22 · TA获得超过164个赞
知道小有建树答主
回答量:178
采纳率:100%
帮助的人:70.2万
展开全部
直接return那个数组名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式