작성
·
168
1
함수는 매개변수로서 배열은 받지못하고 포인터(주소)만을 받을 수 있다고 하셨는데 , 그럼 average 함수의 코드를 보면
double average(double arr1[], int n)
{
printf("%zd" , sizeof(arr1)); //arr1이 배열이 아닌 주소이므로 주소의 크기 (x86 이므로 4바이트)출력
double avg=0.0;
for(int i=0;i<n;i++)
{
avg+=arr1[i]; //??
}
return (avg/(double)n);
}
avg+=arr1[i]; 에서 궁금한게 arr1은 배열이 아닌 주소이므로 , arr1[]같은 표현은 못쓰는것 아닌가요? 오히려 역참조하여
avg+=*(arr1)
arr1++;
이렇게 해야하는것 아닌가 싶습니다.
감사합니다.