C语言中有没有返回数组类型的函数?

如题所述

看来你是还没有理解数组的概念,数组名实际上就是指向该数组第一个元素的指针,比如说:
int
array[3]={1,2,3}的一个数组,这里的array实际上是一个指针,指向了这个数组的第一个元素。这时候你的*array
=
1,*(array
+
1)
=2,*(array
+
2)
=
3。
这时候你应该知道,所谓的返回数组和返回指针实际上是一个概念。
int
*
retInt()
{
int
array[3]={1,2,3};
return
array;
}
实际上就是返回了一个数组。你的最后一个问题,指定数组类型,实际上只要指定指针类型就可以了。
还有一种方法就是楼上的兄弟说的了,定义一个新的数据类型存放数组,函数返回该数据类型也就相当于返回了一个数组。
(上面的函数中数组有作用域问题,仅做说明使用。)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-01-14
memcpy(ave,
average(score,p,q),
sizeof(ave));
要显式的把返回的数组数据拷贝到另一个数组中。
另外,你average函数中的aver是局部变量,你怎么能把它返回呢?这块内存在返回前就失效了。
第2个回答  2019-09-27
没有。