Main 함수와 커스텀 함수의 위치, 함수 전방선언
C++ 프로젝트를 생성해보면 int main()함수가 만들어져 있습니다. (물론 Hello world와 함께^^)
main함수 특징
1. 프로그램 실행을 위한 시작 지점의 역할을 합니다.
2. 일반적으로 프로그램의 다른 함수로 호출을 보내 프로그램 실행을 제어합니다.
3. 다른 모든 C언어 함수와는 다른 제한이 존재합니다.
- inLine으로 선언할 수 없다.
- static으로 선언할 수 없다.
- 주소를 사용할 수 없다.
- 프로그램에서 호출할 수 없다.
(현재 실력에서는 프로그램에서 호출할 수 없다만 이해했습니다..)
4. 마지막으로 main함수는 일반적으로 main에서 반환하거나 그 끝에 도달할 때 실행을 중지시키지만, exit함수를 사용하여 강제로 종료를 시킬 수 도 있습니다.
여기서 새로운 함수를 만든다고 한다면 그 함수의 위치는
#include <iostream> 아래, main함수 위가 되어야 컴파일러에서 제대로 읽고 동작한다.
하지만 저 위치에 여러개의 함수를 넣다보면(예를들면 50개 함수?), main함수가 굉장히 아래쪽으로 가서 찾기가 어려워 질 것이다.
또한 어떤 함수들이 있는지 한눈에 알아보기 어려워서 찾아서 이용하기도 어려울 확률이 높아진다.
그렇기 때문에 함수를 만든것을 컴파일러에게 미리 알려주는 행동을 하는데, 그것을 프로토타입 or 전방선언이라고 한다.
다음과 같다.
#include와 main함수 사이에 한 문장이 더 추가된것을 볼 수 있다. 이것이 전방선언(프로토타입)이다.
프로토타입은 다른 많은 용어로도 사용되니 전방선언(Forward Declaration)이라는 용어도 같이 기억해두자.
헤더파일
https://learn.microsoft.com/ko-kr/cpp/cpp/header-files-cpp?view=msvc-170
내가 이해한 내용을 설명하자면
우리가 프로그램을 구성할때, 예를들어 변수라면 먼저 변수에 대한 선언이 필요하다.
마찬가지로 프로그램을 만들때 많은 선언이 필요한데, 다양한 사람들이 만들게 되면 오류가 발생할 수 있다.
즉, 다양한 프로그래머들이 필요하고 유용한 선언들을 모아놓은 파일이 헤더파일이다.
또한 헤더파일은 말그대로 head위치, 가장 위쪽에 선언되면 된다.
'프로그래밍 > C,C++' 카테고리의 다른 글
[C/C++] 변수 기초 1(int, float) (0) | 2023.05.31 |
---|---|
[C/C++] 연산자 기초 (0) | 2023.05.31 |
[C/C++] 함수 기초 1 (0) | 2023.05.30 |
C++과 C# 비교 차이점 (2) | 2023.05.30 |
[오류_MAC] VS Code #include 오류가 검색되었습니다. (0) | 2023.05.29 |