C언어 - 두 개의 포인터로 배열을 함수에게 전달해주는 방법
2020. 11. 12. 10:46ㆍ카테고리 없음
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
double average(double*, double*);
int main() {
double arr1[5] = { 10,13,12,7,8 };
printf("Avg = %f\n", average(arr1, arr1 + 5);
//arr1+5는 정수에 5를 더하는게 아니라 포인터에 5를 더하는것
return 0;
}
double average(double* start, double* end)
{
int count = end-start;
double avg = 0.0;
while (start < end) { // 끝에 도달하게 되면 작업중단
avg += *start++;
// start를 dereferencing, 스타트가 가르키는 원소가 ++되면 다음 원소를 가르키고 반복
//count++;
}
avg /= (double)count;
return avg;
}
출처 : 홍정모의 따라배우는 C언어