CS Study
C++ 기초문법4) C++에서 함수 선언하기
이병견
2023. 5. 14. 21:31
C++에서의 함수 선언은 C와 마찬가지로
함수 원형(return 없는 상태) -> main()부 ->함수 본체(return 존재, 내용 정의)로 이루어진다.
함수 원형을 선언하지 않고 main() 뒤에 새 함수를 선언하면, main()에서는 새 함수에 대한 정보를 모르는 상태이므로 어떤 내용을 불러와야 할지도 모른다. 따라서 미리 원형 선언 후 -> main()뒤에 있는 본체부에서 정보를 읽어 와서 선언한 함수를 사용하는 구조라고 생각하면 된다.
예시는 다음과 같다.
int fibo(int n);
fibo라고 하는 피보나치 수열을 구하는 함수를 선언해 사용하고자 한다. main()이 오기 전에, fibo부터 선언한다. return은 지금 명시할 필요가 없다. main()이후에 오는 본체부에서 기술할 것이기 때문에..
int main()
{
int n,result;
cin >> n;
result=fibo(n);
cout << result;
return 0;
}
main() 함수부이다. 선언할 함수를 미리 정의한 뒤에 적는 것이 흐름상 편하다.
int fibo(int n){
int fn;
if (n==0){
return 0;
}
else if (n==1){
return 1;
}
else{
fn=fibo(n-1)+fibo(n-2);
return fn;
}
fibo 함수부이다. 새로 선언한 함수의 내용이 담겨져 있으며, 조건문을 써야 하는 예시이기 때문에 각 조건별로 return 값이 정의되어 있다. 전체 코드 구조를 보자면
#include <iostream>
using namespace std;
int fibo(int n);
int main()
{
int n,result;
cin >> n;
result=fibo(n);
cout << result;
return 0;
}
int fibo(int n){
int fn;
if (n==0){
return 0;
}
else if (n==1){
return 1;
}
else{
fn=fibo(n-1)+fibo(n-2);
return fn;
}
}
이런 구조이다. 함수 원형 선언 -> main -> 함수 본체 선언(선언한 원형의 내용을 채우는 부분이라고 생각하면 된다.) 의 구조로 이루어져 있다.