선언부와 정의부

-> 프로그램 실행 시 가장 먼저 호출되는 함수는 main함수이다.

-> 하지만, 여러가지 함수를 정의할 경우 main의 위치는 아래로 내려가게 된다.

(main함수는 프로그램 진입점을 나타내는 함수이기 때문에 상단에 배치하는 것이 좋다.)

-> 이를 해결하기 위해 선언부와 정의부를 나눠보자.

 

선언부

-> main함수에게 자신이 존재한다고 알리는 역할

-> 함수의 몸체가 없고 정보만 알려준다.

-> 반환타입이 무엇인지, 이름이 무엇인지, 매개 변수가 몇개이며 무엇인지

-> 반환 타입 + 함수이름 + 인자 정보만 알려준 후 세미콜론으로 마무리 짓는다.

 

정의부

-> 선언부에서 작성한 함수의 몸체를 구현한 부분

-> 정의부가 있어야만 정상적으로 프로그램을 실행할 수 있다.

-> 선언부에서 작성한 함수의 정의부가 없을 경우 정상적인 코드를 수행할 수 없다.

 

사용 예)

위의 코드를 보았을 때 Add 함수를 찾을 수 없어서 컴파일을 할 수 없다.

-> 이런 경우 Add함수를 main함수 위에다가 작성을 해야 하는데,

-> 그렇게 하게되면 main 함수는 Add함수의 아래로 이동하게 되고,

-> 함수가 만약 여러개가 존재 할 경우 main함수는 쭉 내려가게 되면서 한 눈에 보이지 않게 된다.

-> 이를 해결하기 위해서 선언부와 정의부가 있는 것이다.

 

다음과 같이 선언부와 정의부를 나누게 되면 main함수 위에다가 함수를 정의할 필요가 없게 된다.

 

 

'Programming > C++ Basic' 카테고리의 다른 글

C++ 재귀 함수  (0) 2020.08.25
C++ 함수 오버로딩, 디폴트 매개 변수  (0) 2020.08.25
C++ 지역 변수, 전역 변수, 정적 변수(static)  (0) 2020.08.24
C++ 함수란?  (0) 2020.08.24
C++ 난수(rand, srand)  (0) 2020.08.20

+ Recent posts