main 함수와 실행 코드

Jaemyeong Lee·2024년 12월 7일

게임 서버1

목록 보기
8/220

이번 Step에서 잡아야 할 것

  • 엔트리 포인트(Entry Point): 프로그램 시작점 = main()
  • 실행 순서: main() 안에서 위 → 아래
  • 쓰기/읽기: =는 “같다”가 아니라 대입(쓰기), cout읽어서 출력
  • 초기화: 값을 쓰기 전에 “첫 값”을 넣어 안전하게 시작

main 함수

  • 프로그램이 시작되는 지점
  • OS가 프로그램을 실행하면, C++ 런타임이 준비를 마친 뒤 main()을 호출
  • main() 안의 코드는 위에서 아래로 한 줄씩 실행됩니다.

가장 기본 형태는 이런 모습입니다.

#include <iostream>

int main() {
    int hp = 10;          // 선언 + 초기화
    hp = 50;              // 대입(쓰기)
    std::cout << hp;      // 읽기(출력)
    return 0;
}

쓰기 (대입)

hp = 50;
  • =같다가 아닙니다. (같다 비교는 ==)
  • 의미: 오른쪽 값을 왼쪽 변수에 넣기(쓰기)

읽기 (출력)

cout << hp;
  • hp라는 이름을 사용하면 → 해당 공간의 값을 읽어옵니다
  • 읽는다고 값이 소멸되지는 않습니다.
  • 단, 값을 쓰기(초기화/대입) 전에 읽으면 위험할 수 있습니다.

using namespace std;

  • std::cout 대신 cout처럼 std::를 생략할 수 있게 해줍니다.
  • 학습 초반에는 편하지만, 프로젝트가 커지면 이름 충돌 위험이 있어 보통은 필요한 곳에 std::를 붙이기도 합니다.

실행 코드 위치

  • 선언(공간 확보): int hp;
  • 실행 코드(쓰기/읽기): hp = 50;, cout << hp;
  • 지금 단계에서는 “실제로 실행되는 코드”는 main() 안에 적는다고 생각하면 가장 안전합니다.

순서

  • C++은 기본적으로 위에서 아래로 코드를 읽고 처리합니다.
  • 그래서 아래처럼 “아직 선언되지 않은 변수”를 먼저 쓰면 에러가 납니다.
int main() {
    hp = 50;      // 오류: hp가 아직 선언되지 않음
    int hp = 10;
}

초기화

int hp = 10;  // 선언과 동시에 초기값 설정
  • 초기화는 “처음 값”을 넣어주는 것이라, 실수를 크게 줄여줍니다.
  • 특히 초보 단계에선 “선언하자마자 초기화”를 습관으로 가져가면 좋습니다.

체크 질문 (스스로 답해보기)

  • ===는 각각 무슨 의미일까?
  • main() 안에서 코드를 위에서 아래로 실행한다고 말할 수 있을까?
  • “선언만 하고 초기화하지 않은 변수”를 읽으면 왜 위험할까?

profile
李家네_공부방

0개의 댓글