C , C++ 스터디

2. C++함수(Function) -1

꿀복피그 2024. 10. 1. 02:02

안녕하세요 여러분!

오늘은 함수 (function)에 대해 배워보는 시간을 가질거예요

먼저 함수의 기본 형식에 대해 알아보고 함수의 입력 파라미터, 반환값 등에 대해 배워볼 것입니다!

 

1. 함수의 기본 형태

함수의 기본 형태

 

함수의 기본 형태는 다음과 같아요. 맨 처음에 함수가 반환하는 값의 타입과, 함수 이름, 입력 파라미터 타입과 변수명을

지정해주고 꺾세 안의 함수 바디에는 함수의 기능을 구현해주면 됩니다.

그런데 모든 함수는 return값이 있어야 할까요? 반환값이 없거나 입력 파라미터가 없는 함수는 없을까요?

당연히 존재합니다. 다음은 함수의 return값과 입력 파라미터에 대해 알아볼게요.

 

2. 함수의 입력 파라미터와 반환값

1)입력이 없는 함수

 

반환값은 있는데 입력이 없는 경우, 함수의 형태는 다음과 같아요.

 ex) int prompt() {

       int result;

       std::cout << "Please enter an integer value: ";

      std::cin >> result;

      return result;

      }

첫번째줄의 prompt()에서 괄호 안에 입력 파라미터의 타입과 파라미터명이 들어가야 하지만 위함수는 입력 파라미터를

받지 않고 반환값만 있기에 괄호 안에 아무것도 들어가지 않게 됩니다. 대신 꺾세 안의 마지막 줄에 return값은 받고 있는걸 알 수 있죠. 호출 시에도 괄호를 비워놓은 채로 호출하면 됩니다.

 

* 참고로 입력파라미터를 받는 함수인데 괄호 안에 아무것도 넣지 않은채로 호출하게 되면 에러가 발생합니다. 호출 시 입력 파라미터에 아무것도 입력하지 않아도 에러가 생기지 않게 하려면 입력 파라미터에 디폴트값을 넣어주면 됩니다.

예시는 다음과 같아요.

ex) void point(int x = 3, int y = 4);

위와 같이 선언된 함수를 호출 시, point(1); 이나 point(); 로 호출할 시 point(1)은 point(1,4)와 같고 point()는 point(3,4)와 같아요!

 

 

2)반환이 없는 함수

 

반환값(return) 이 없는 함수의 형태는 다음과 같아요.

ex) void prompt(int num) {

        std::cout << "Please enter an integer value: ";

       }

첫번째 줄에 int나 double과 같은 타입 대신에 void가 적혀있어요. 이는 해당 함수에 반환값이 없음을 의미하는거예요.

즉 return값 없이 cout 다음에 오는 문장을 단순히 출력해주는 함수인거죠. 

 

지금까지 함수의 입력 파라미터, return값에 대해 살펴봤는데 입력값, return값 모두를 갖는 함수가 있는 반면,

둘 다 갖지 않는 함수, 둘 중 하나만 갖는 함수 등 함수는 다양한 형태로 모두 가능합니다. 

오늘은 함수의 기본 형태에 대해 알아봤으니 다음 시간에는 함수에 대해 더욱 깊이 알아보는 시간을 가질거예요~

다음 시간에 봐요 꿀