int grade[5] = {12,....}
get_grade(grade, 5) // 함수의 호출
get_average(int score[], int size);
get_average(int *score, int size); // 함수의 정의는 이 두가지 사용가능하다.
함수를 전달시에 바뀔것을 방지.
arrat(char desc[] , const char src[], int size); // desc는 변형해도 가능 ,하지만src는 변형우려가 있어서
매개변수
1. pass by value : 값을 복사한다. -> 원본은 변형안됨
2. pass by address : 주소값을 넘긴다. -> 원본도 같이 변형된다.
여기에 대한 실습
#include<iostream>
#include<cmath>
using namespace std;
#define NUM 5
double StdDev(const double grade[],double *avg,double *bun);
void main()
{
int i=0;
double grade[NUM]= {0};
double avg=0, bun =0;
for (i=0; i< NUM; i++)
{
cout<< i+1<< "번째학생의성적을입력하시오: "
cin>> grade[i];
} cout<<endl;
cout<< "평균은" << avg <<"이고" << " 분산평균은"<< bun << " 이고표준편차는"
<< StdDev(grade, &avg, &bun)<<"입니다<<endl;
}
double StdDev(const double grade[],double *avg,double *bun)
{
int i=0;
double sum=0;
for(i=0; i<NUM ; i++)
sum += grade[i];
*avg = sum / (double)NUM; // 평균을구한다
for(i=0; i<NUM ; i++)
*bun += pow(*avg - grade[i], 2.0);
*bun = *bun /(double)NUM;
return sqrt(*bun);
}