c - How to return an array of pointers? -
i have made code calculate variance , mean of array of numbers, can't find way return array of pointers.
this function:
float* statistics(int numbers[], int numbers_len, float * ptr_mean, float * ptr_variance, float * ptr_stdev, int * ptr_median){ float*mean; float*variance; float stat[4]; float*array_stat; int i=0; mean=calculate_mean(numbers, numbers_len); variance=calculate_variance(numbers, numbers_len, mean); stat[0]=*mean; free(mean); mean=null; stat[1]=*variance; free(variance); variance=null; for(i=0;i<2;i++){ array_stat=(float*)calloc(2, sizeof(float)); array_stat[i]=stat[i]; } return array_stat; }
i need array_stat array of pointers. in int main() call function *statistics() way:
int main(){ int array_numbers[max_items]; int n_numbers, i=0; float *calculate_statistics; calculate_statistics = statistics(array_numbers, n_numbers, ptr_mean, ptr_variance, ptr_stdev, ptr_median); for(i=0;i<2;i++){ printf("\n[%d] item > %0.2f\n", i+1, *calculate_statistics); } free(calculate_statistics); calculate_statistics=null; }
someone can me please?
in statistics()
array_stat=(float*)calloc(2, sizeof(float)); for(i=0;i<2;i++){ array_stat[i]=stat[i]; }
in main()
for(i=0;i<2;i++){ printf("\n[%d] item > %0.2f\n", i+1, calculate_statistics[i]); }
do ever want array of 2 floats? might better off using struct.
Comments
Post a Comment