[C++]코딩연습장

C++ [Function]

KAU 2021. 2. 21. 16:49


함수의 선언과 종류

#include <iostream>

using namespace std;

int main()
{
	/*
	함수를 선언하기 위해서
	1. 함수 정의 제공
	2. 함수 원형 제공
	3. 함수 호출

	함수의 종류
	1. 리턴값이 있는 타입
	typename functionName (parameterList)
	{
			statement(s);
			return value;
			//처음만나는 리턴에서 함수가 종료 된다.
	}
	2. 리턴값이 없는 타입
	void functionName(parameterList)
	{
			statement(s);
			return; // 생략될 수 있음
	}
	*/

}

 

함수의 원형 선언 

함수의 원형선언 문법
반환타입 SmallNum(매개변수목록);
#include <iostream>

using namespace std;

int SmallNum(int, int);
void Ralo(int n) {
    for (int i = 0; i < n; i++)
    {
        cout << "2400!" << endl;
    }
    return;
}
int main(void)

{

    int result;
    result = SmallNum(4, 6);
    cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
    result = SmallNum(8, 6);
    cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
    result = SmallNum(2, 8);
    cout << " 두 수 중 더 작은 수는 " << result << "입니다." << endl;
    Ralo(3);
    return 0;

}



int SmallNum(int num1, int num2)

{
    if (num1 <= num2)
    {
        return num1;
    }

    else

    {
        return num2;
    }

}

C++에서는 가장 먼저 main() 함수가 컴파일러에 의해 컴파일됩니다.

 

위의 예제에서 컴파일러는 main() 함수에 등장하는 SmallNum() 함수를

아직 알지 못하기 때문에 컴파일 오류를 발생시킵니다.

따라서 컴파일러에 SmallNum() 함수는 나중에 정의되어 있다고 알려줘야 합니다.

그 역할을 하는 것이 바로 함수의 원형을 선언하는 것입니다.


매개변수와 전달인자

#include <iostream>

using namespace std;

void helloCPP(int, int);

int main() {

    int times, times2;
    cout << "정수를 입력하십시오. \n";
    cin >> times;
    cout << "정수를 한번 더 입력하십시오. \n";
    cin >> times2;
    helloCPP(times, times2);

    return 0;
}

void helloCPP(int n, int m) {
    for (int i = 0; i < n; i++)
        cout << "Hello\n";

    for (int i = 0; i < m; i++)
        cout << "C++\n";
}

 

'[C++]코딩연습장' 카테고리의 다른 글

C++ [분할컴파일]  (0) 2021.02.22
C++ [참조 변수] [함수 템플릿]  (0) 2021.02.21
C++ [포인터와 메모리 해제] [포인터 연산] [동적 구조체]  (0) 2021.02.21
C++ [구조체]  (0) 2021.02.21
C++ [Hello, World!]  (0) 2021.02.21