함수(Function) _C

함수의 구성 :

리턴형    함수이름      입력의 형태
int          main           (void)
{  함수시작

             함수의 몸체
             return ;   리턴

} 함수종료




함수의 매개변수와 리턴 :

매개변수(파라미터, 인자) :

함수호출 과정에서 필요한 값들을 받는 변수

매개변수의 자료형과 함수호출시 넣어주는 값의 자료형이 같아야 한다.



디폴트 매개 변수 :

함수호출시 인자를 넣지 않았을때 디폴트 값으로 매개변수가 정의된다.
(함수 오버로딩과 중복사용시 함수가 중복호출되지 않게(컴파일오류가 발생) 주의해야 한다)



리턴 :

함수를 호출한 대상한테 값을 반환하며 함수를 종료한다.
(참고 : 리턴형이 void 가 아닐경우 리턴문을 써줘야 한다)

(추가 : 재귀함수

return 문에 자신을 호출하는 함수

ex)   int add()
       {
               return add();
       }
)



함수의 선언과 정의 :

선언과 동시에 정의 :

void exfunction()               // 선언과 동시에 정의
{
}


선언과 정의 분리 :

void exfunction();               // 선언

void exfunction()                // 정의
{
}


선언과 정의를 분리하는 이유 :

코드의 가독성을 높이기 위해



함수 실행과정 :

fun(); (호출) -> int fun(); (선언부분) -> 함수정의로 이동 -> 함수실행 -> return 문 -> 함수호출 부분으로 되돌아옴



함수 오버로딩(overloading) : (C++ 확장문법)

이름이 같으나 매개 변수의 타입이나 개수가 다른 함수들의 정의를 허용하며 사용하는것

#include <iostream>
using namespace std;

void fun(int num1, int num2)
{
        cout<<num1<<" , "<<num2<<endl;
}

void fun(char str)
{
        cout<<str<<endl;
}

void fun(void);

void main()
{
        fun();                      // 매개변수를 넣지 않았으므로 void fun(void) 가 호출된다.
        fun('a');                  // 매개변수를 char 형으로 하나 넣었으므로 void fun(char str) 가 호출된다.
        fun(1, 2);                 // 매개변수를 int 형으로 두개 넣었으므로 void fun(int num1, int num2) 가 호출된다.
}

void fun(void)
{
        cout<<"fun(void) "<<endl;
}

실행결과 :

fun(void)
a
1, 2

덧글

댓글 입력 영역


통계 위젯 (블랙)

43
33
54306

블로그 랭킹 위젯

마우스오른쪽금지