함수의 원형

C : 2007. 11. 3. 12:00

프로그램의 소스를  작성하면서 모든 처리를 함수를 이용해서 해야 할수도 있다.
함수의 원형을 쓰지 않고 main()함수의 위쪽에 함수를 모두 작성하면 프로그램에 문제는 없지만 소스가 길어지면 문제가 생길 가능성도 있고, 솔직히 어떤 함수가 있는지 알게 뭔가.
어떤 함수가 사용되었는지 알려주기 위해서 함수의 원형을 선언하기도 하는 것이다.

서술형이 되니까 어려워보일지도 모르지만
결론은 main()도 함수. 시작을 위한 함수인것과 함수의 원형이 왜 필요한지, 그리고 변수의 사용과 인수의 넘김을 이해한다면 별 볼일 없다고 생각된다.

함수의 원형은 선행처리문과 main()함수의 중간에 위치한다.
함수의 원형을 쓸때 필요한 것은 함수의 반환형과 매개변수 이 두가지이다.
정수형, 문자형 등등의 어떤 타잎을 반환할것인지, 넘겨받을 매개변수의 타잎과 몇개의 매개변수를 받을 것인지.

main()함수는 선언된 함수를 호출하기만 하면 된다.


p.238

#include <stdio.h>


int avg(void);      //함수 원형


int main(void)
{
 int sum;

 sum = avg(); // 함수 호출, 함수에서 계산된 sum 값 되돌려 받음.

 printf("avg = %d  ", sum);  //결과값 출력

 return 0;
}


int avg(void)
{
 int sum =0, i;                        //sum값 초기화
 int num[10];                         //배열 선언

 for(i=0; i<10; i++) {             //입력 반복문
  printf("enter number: ");
  scanf("%d", &num[i]);
  sum = sum + num[i];       //sum 에 입력값 누적
 }

 return sum/10;             //평균값 돌려줌
}

Posted by 청웨일