[C++] C++ 프로그램 개요와 구조🖥️ Dev/Language2025. 7. 5. 16:29
Table of Contents
이 글은 포르잔 C++ 바이블을 참고하여 학습한 내용을 정리한 글입니다.
포르잔 C++ 바이블
네트워크 분야의 명저자, 포르잔 교수가 설명하는 C++! 넓고 깊게 C++의 모든 것을 담았다!
www.hanbit.co.kr
📚 C++ 프로그램의 개요
⚡ C++ 코드의 특징
- 대소문자 구분 (Case Sensitivity)
- 모든 식별자(identifier), 키워드(keyword), 표준 라이브러리 이름, 함수 이름 등은 대소문자를 구분한다.
- ex.
cin과Cin은 완전히 다른 것으로 인식
- 들여쓰기 (Indentation)
- C++에서 들여쓰기는 문법적으로 필수는 아니지만, 가독성과 유지보수를 위해 권장한다.
- 일반적으로 함수의 본문, 제어문 블록 등
{}내부를 들여쓰기를 통해 시각적으로 계층 구조를 보여준다. ➡️ 보통 2~4칸을 사용
- 행 구분과 세미콜론 사용
- C++에서 각 명령문(statement)은 세미콜론(
;)으로 끝난다. ➡️ 줄 바꿈 자체는 컴파일러가 무시하며, 여러 줄로 나누더라도 하나의 명령문은 반드시 세미콜론으로 끝나야 한다. - 한 줄에 여러 명령문을 사용할 수도 있지만, 가독성 저하로 잘 권장되지 않는다.
- C++에서 각 명령문(statement)은 세미콜론(
- 반드시 하나의
main()함수가 존재- C++ 프로그램은 최소 1개 이상의 함수, 반드시 하나의
main()함수가 존재한다. - 모든 C++ 프로그램의 진입점(entry point)은 반드시
int main()이어야 한다.
- C++ 프로그램은 최소 1개 이상의 함수, 반드시 하나의
- 문법 오류에 매우 엄격
- 중괄호, 세미콜론, 대소문자, 괄호 등 문법적 실수가 바로 컴파일 에러로 이어진다.
- C++ 표준에 대헤서는 모든 컴파일러가 동일하게 오류로 처리하지만, 경고 처리 / 확장 문법 / 비표준 허용 범위는 컴파일러마다 다르게 동작할 수 있다.
- "관용적으로 허용"되는 문법 오류가 거의 없다.
- 중괄호, 세미콜론, 대소문자, 괄호 등 문법적 실수가 바로 컴파일 에러로 이어진다.
📚 기본 프로그램 구조
#include <iostream>
using namespace std;
int main() {
cout << "안녕하세요. C++를 공부하고 있습니다.";
return 0;
}
⚡ 전처리 지시자 (preprocessor directive)
#include <iostream>
- 전처리 지시자는 프로그램을 컴파일 할 때, 컴파일러에게 추가적인 지시를 내리기 위해 사용하는 구문으로, 컴파일을 하기 전에 먼저 처리할 일을 지시한다. ➡️ 맨 앞에
#을 붙여서 사용- 필요한 헤더 파일(header file)을 불러오기 위해서는
#include라는 코드를 사용 #include이외에도#define등 여러 전처리 명령어가 존재
- 필요한 헤더 파일(header file)을 불러오기 위해서는
- 컴파일러는 전처리 명령어를 모두 수행하고 나서, 컴파일을 진행한다.
- ⚠️
#include지시자 뒤에 세미콜론(;)을 넣으면 오류의 위험이 발생할 수 있다.
⚡ 네임스페이스 (namespace)
using namespace std;
- C++는 객체 지향형 언어이기 때문에 각 객체들은 그룹과 실제 이름을 가지고 있다.
- ex.
std::cout: 객체가 속한 그룹은std(standard의 약자), 그룹 내부에서 객체의 실제 이름은cout(console out의 약자)
- ex.
- 네임스페이스는 객체를 입력할 때 객체의 그룹(
std::)을 입력하지 않는 경우,std::를 넣어서 판단하라고 컴파일러에게 전달하는 역할을 수행한다. - C++ 표준 라이브러리 문서와 주요 코딩 스타일 가이드(Google, LLVM, Microsoft 등)에서는 전역 범위에서
using namespace std;사용을 지양할 것을 권고한다. ➡️ 이름 충동 방지, 코드의 명확성, 유지보수성 향상
⚡ 함수 헤더
int main()
- 함수 헤더는 함수에서 출력해야 하는 자료형 (return 타입), 함수 이름, 괄호 내부에 입력해야 하는 값 (파라미터)로 구성된다.
⚡ 함수 본문
...
{
cout << "안녕하세요. C++를 공부하고 있습니다.";
...
}
- 함수의 본문은 중괄호(
{})로 둘러싸고 있다. ➡️ 중괄호는 열었으면 반드시 닫아야 한다. (컴파일 오류의 원인) - 함수의 본문은 대부분 컴퓨터에게 행동을 지시하는 명령어이다.
⚡ 함수의 본문 끝 (return)
...
{
...
return 0;
}
- 프로그램은 러너(runner)라는 별도의 외부 프로그램이
main()함수를 찾은 뒤 실행한다. - 러너는 프로그램이 정상 실행되었는지
main()함수가 리턴(응답)하는 값으로 판단한다. ➡️ 0을 리턴하면 정상 종료, 0이 아닌 값을 리턴하면 프로그램 동작 실패

'🖥️ Dev > Language' 카테고리의 다른 글
| [C++] for문 돌릴 때 아직도 int를 쓰시나요...? (int 타입 vs size_t 타입 정리) (0) | 2026.01.25 |
|---|---|
| [C++] C++의 변수와 상수 (0) | 2025.07.05 |
| [Java] Java의 연산자 (산술, 비교, 논리, 대입 등) (4) | 2025.07.05 |
| [Java] Java의 변수와 상수 (0) | 2025.07.04 |
| [Java] Java의 기본 데이터 타입 (1) | 2025.06.24 |
@청월누리 :: DevKuk 개발 블로그
since 2025.01.27. ~ 개발자를 향해....🔥