c语言中怎样返回一个数组?

Python013

c语言中怎样返回一个数组?,第1张

在C语言中,无法直接返回一个数组,但是可以通过返回对应类型指针的方式,返回数组。

在大多数情况下,一维数组和一维指针是可以通用的。

比如,定义一个函数,申请一定长度的整型动态数组,其长度用参数传入,并将结果返回。如出错,返回空指针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//返回得到的整型数组的指针。 

}

你好!

将函数采用指针的形式返回平均值

注意看后面的注释

#include<stdio.h>

int main()

{

float *student_aver(float array[3][3])   // 改成指针的形式输出 

float score[3][3]

float *a

int i,j

printf("请输入学生各科的成绩:")

for(i=0i<3i++)

for(j=0j<3j++)

scanf("%f",&score[i][j])

printf("每个学生的平均成绩分别为:")

a=student_aver(score)                // 指针 a 接收函数的返回值 

for(i=0i<3i++)                      // 打印出平均值 

printf("%.2f ",a[i])

return 0

}

float *student_aver(float array[3][3])    // 改成指针的形式输出

{

int i,j

float sum,a[3]

for(i=0i<3i++)

{

sum=0

for(j=0j<3j++)

sum=sum+array[i][j]

a[i]=sum/3

   }

return a                             // 输出数组 a 

}