본문 바로가기

강의자료/C/C++

015. 함수의 4가지 형태와 static 변수.

◈ 이 글은 강의를 위하여 제가 직접 작성한 내용입니다. 따라서 퍼가실 경우, 출처를 명확히 해주시기 바랍니다!!
◈ This ariticle was written by me for teaching. So if you want to copy this article, please clarify the source!!


함수란, 특정 기능을 수행하기 위한 코드의 묶음이다.
그리고 실제 프로그래밍은 함수로 시작해서 함수로 끝나게 되어있다.
이렇게 중요한 함수에 대해서 모르고 넘어갈 수는 없다.
함수를 만드는 4가지 방법에 대해서 알아보도록 하자.
그리고 전역변수이지만 함수내에서만 사용할 수 있는 특수한 전연벽수, static 변수에 대해서도 알아보자.
// 함수의 4가지 형태를 이해한다.
// 함수내에서만 사용할 수 있는 전역변수인 static 변수를 이해한다.

#include  
using namespace std;

// 입력도 없고 출력도 없는 형태. 
void Test()
{
	cout << "Hello!!" << endl;
}

// 입력만 있고 출력은 없는 형태.
void ShowAdd(int a, int b)
{
	cout << "Add : " << a+b << endl;
}

// 입력과 출력이 모두 있는 형태.
int Add(int a, int b)
{
	return a+b;
}

int g_count = 0;

// 입력은 없고 출력만 있는 형태.
int GetReadCount()
{
	// 함수 내에서만 사용하는 전역변수 선언.
	//static int g_count = 0;
	return g_count += 1;
}

int main( )
{
	Test();
	ShowAdd(100, 200);
	int sum = Add(300, 500);
	cout << sum << endl;

	for(int i=0; i < 5; i++)
	{
		cout << GetReadCount() << endl;
	}
	
	return 0;
}
#연습문제
// 커피 자판기 함수를 만들어보자.
// 함수의 선언과 정의를 분리하는 방법에 대해서 이해한다.

#include  
using namespace std;

#define COST 200

int coffee(int money);

int main( )
{
	cout << "커피 자판기에 돈을 넣으세요(한잔에 " << COST << "원) : ";
	int inputMoney;
	cin>>inputMoney;
	int cups = coffee(inputMoney);

	cout << "커피 자판기에 " << inputMoney << "원을 넣으면 ";
	cout << cups << "잔이 나온다." << endl;

	return 0;                  
}

int coffee(int money)
{
	return money / COST;
}