이번에는 함수편이야.

먼저 우리가 C++언어를 짤때 항상 들어가는
int main()
{
     return 0;
}

에 대해 설명하려고해.

왜 함수예기를 한다고 하고서 main예기를 하냐고?
그야 main이 함수니까 그러지.

int main()

이거는 함수 main을 선언한다는거야
그러면서 int형의 값을 반환하고 인자는 안받겠다는거야.
이름이 main이라는것은 프로그램을 실행시키면 맨처음 불려지는 함수라는 뜻이고,

그러면 이제 선언과 반환과 인자에 대해 알아봐야지,

선언이라는 것은 이런 함수가 있으니까 알아둬라, 라고 컴파일러(우리는 visual c++)한테 말해주는거고, 구현은 실제 함수의 작동방식을 써넣는거야. 근데 main함수같은경우는 한번에 하잖아? 다른 함수들도 이렇게 해도 되긴 하는데, C언어때는 컴파일러가 항상 위에서부터 컴파일을 해서 함수를 쓸때 main위에 선언을 해야 에러가 안났거든,, 근데 main위에 함수를 전부 구현해놓으면 main이 맨처음 불려나가는 함수인건데도 맨 마지막에 쓰이는 상황이 발생하잖아?
그래서 main위에 전부 선언하고, 다시 밑에서 구현을 하느라고 선언과 구현을 따로할수있게 됬어.

그리고 이제 인자와 반환값이란,,,이거는 수학의 함수와 똑같은거야. 수학에서
f(x)=ax+b
라고 하면 f라는 함수에 x라는 인자를 줘서 ax+b라는것을 함수값이라고 하잖아?
여기서 x는 C++의 인자 함수값인 ax+b는 반환값이야.

그럼 함수선언의 예제를 한번 보자.

double FunctionEx(int i, double d, float f)
{
      double value=0;
      value= i+d+f;
     
      return value;
}

이 함수가 뜻하는 의미를 알겠어?
여기서 숙제,
// example1.cpp
#include <iostream>

double FunctionEx(int i, double d, float f)
{
      double value=0;
      value= i+d+f;
     
      return value;
}

int main()
{
       int k=0;
       double p=0;
       float t=0;
       cout<<"please input int, double, float"<<endl;
       cin>>k>>p>>t;
       cout<<FunctionEx(k,p,t)<<endl;
       return 0;
}

이거를 각자 실행해서 입력값과 출력값을 댓글로!!

'대학생활 > C++' 카테고리의 다른 글

4주차 C++숙제가 떳습니다.  (0) 2009.04.01
3주차 C++숙제가 나왔습니다!!  (0) 2009.03.23
내맘대로 강좌 C++편 5  (2) 2009.03.19
내맘대로 강좌 C++편 4  (2) 2009.03.18
내맘대로 강좌 C++편 3  (4) 2009.03.17