在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组。
创新互联公司长期为上千客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为和田县企业提供专业的做网站、成都网站建设,和田县网站改版等技术服务。拥有10多年丰富建站经验和众多成功案例,为您定制开发。
在大多数情况下,一维数组和一维指针是可以通用的。
比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。埋渗如出错,返回空指针NULL。 代码可以差者写成如下形式:
int *int_array_create(int n)//参数n为数组元素个数
{
int *r;
虚液薯 if(n=0) return NULL;//参数错误
r = (int *)malloc(sizeof(int)*n);//申请内存空间,大小为n个int长度。
return r;//返回得到的整型数组的指针。
}
你好!
将函数采用指针的形式返回平均值
注意看后面的注释
#includestdio.h
int main()
{
float *student_aver(float array[3][3]); // 改成指针的形式输出
float score[3][3];
float *a;
int i,j;
printf("请输入学生各科的成绩:");
for(i=0;i3;i++)
for(j=0;j3;j++)
scanf("%f",score[i][j]);
printf("每个学生的平均成绩分别为:");
a=student_aver(score); // 指针 a 接收函数的返回值
for(i=0;i3;i++) // 打印出平均值
printf("%.2f ",a[i]);
return 0;
}
float *student_aver(float array[3][3]) // 改成指针的形式输出
{
int i,j;
float sum,a[3];
for(i=0;i3;i++)
{
sum=0;
for(j=0;j3;j++)
sum=sum+array[i][j];
a[i]=sum/3;
}
return a; 晌昌棚 迅漏 宴则 // 输出数组 a
}
函数返回值一般为一个值,现在你要返回数组,那么谨袜你可以在程序中定义全局数组,祥兆激或者你通过传指针的方式传过来数组参数,在函数中更改了数组的猜数值后又把数组首地址返回去就可以用了。