* 함수
- function, method, 멤버함수
- 처리해야 할 명령어들을 모아 놓은 것
- 함수는 메이커측에서 제공되는 함수가 있는데
   대부분 객체형태로 제공된다
- 사용자 정의 함수 (user defined)
- 함수작성(정의), 함수호출


* 함수의 호출관계
- 파라미터값이 있으냐? 없느냐?
- return값이 있으냐? 없느냐?
- parameter (전달값)

 

* 함수 만드는 형식

리턴되는값의자료형 함수이름()
{
    처리해야 하는 명령어
}

- 리턴값이 없는 함수 void형
- main() 함수는 사용자가 호출하는 함수가 아니다
- 함수를 작성할 때 main()함수 안에 작성 불가

 

* 함수의 흐름
- 함수호출 -> 함수실행후 -> 해당 함수를 호출한 곳으로 리턴한다
- 리턴할때 리턴되는 값이 없을경우 return명령어는 생략가능
- 리턴값은 오로지 1개만 리턴할수 있다.
   리턴값이 있을경우 리턴값의 자료형을 써 줘야 한다
   더이상 void형이 아님

 

------------------------------------------

 

#include <stdio.h>


void test()
{
   printf("HAPPY");
   return;

}//함수정의


void test2(int n)
{
   printf("%d",n);
   return;
}


void chart(int n,char ch)
{
   for(int p=1; p<=n; p++)
   {
       printf("%c",ch);
   }

   return;
}


int abs(int n)
{
   if(n<0)
    return n*-1;
   else
    return n;
}


int fact(int n)
{
   int gop=1;
   int p;
   for(p=n; p>=1; p--)
   {
      gop=gop*p;
   }

   return gop;
}

int max(int p,int q,int r)
{
   int m;
   m=(p<q) ? q : p ;
   m=(m<r) ? r : m ;
   return m;
}

void main()
{

    //파라미터값이 없는 경우
    //test(); //함수호출

 //파라키터값이 1개 있는 경우
 //test2(456);

 //★문자를 8번찍는 함수 작성
 //chart(8,'#');


 //리턴값이 있을 경우
    int res=abs(-5); //함수 호출

    printf("%d",res);


 //팩토리얼값 구하기
 res=fact(5);
    printf("%d",res);


 //세개의 숫자 중에서 제일 큰 값 리턴
 res=max(10,20,30);
    printf("%d",res);

 

 

}

 

'..열심히 공부하세.. > C 입문' 카테고리의 다른 글

[10] 다차원 배열  (0) 2012.05.31
[정렬 알고리즘]  (0) 2012.05.29
[요일구하는 프로그램]  (0) 2012.05.25
[09] 배열 Array  (0) 2012.05.25
[08] while문, do~while문  (0) 2012.05.25

+ Recent posts