C언어 왕초보 탈출

c언어 시작하기

게임플밍마스터 2025. 6. 16. 19:36

 

컴퓨터와 프로그램의 이해부터 시작해 봅니다.

 

1.1 우리는 왜 프로그래밍을 배우는가?

우리는 스마트폰으로 메시지를 보내고, 웹사이트를 검색하며, 유튜브를 시청하고, 게임을 즐깁니다.

이런 모든 기능은 **프로그램(program)**이라는 소프트웨어가 컴퓨터 위에서 동작하기 때문에 가능해집니다.

그렇다면 프로그램이란 무엇일까요?

프로그램은 컴퓨터가 이해할 수 있는 명령어들을 순서대로 작성해 놓은 문서입니다.

출처 입력

이 명령어들은 사람의 언어가 아닌 기계가 이해할 수 있는 언어로 작성되어 있어야 합니다.

그렇기 때문에 우리는 프로그래밍 언어를 배워야 합니다.

 

1.2 프로그래밍 언어란?

프로그래밍 언어는 사람과 컴퓨터가 서로 의사소통하기 위한 도구입니다.

C언어는 그 중에서도 단순하고 빠르며, 하드웨어에 가까운 언어로,

많은 운영체제, 게임 엔진, 시스템 소프트웨어의 근간이 되는 언어입니다.

 

1.3 컴퓨터가 프로그램을 이해하는 방식

사람은 printf("Hello, world!");처럼 C언어 문장을 이해할 수 있지만,

컴퓨터는 오직 **0과 1로 이루어진 기계어(machine code)**만 이해합니다.

즉, 우리가 C언어로 작성한 코드를 컴퓨터가 실행하려면 기계어로 바꿔주는 과정이 필요합니다.

 

1.4 프로그램 실행 과정 (컴파일 과정)

C언어로 작성한 프로그램은 다음 과정을 거쳐 실행됩니다.

[코드 작성] → [컴파일] → [링크] → [실행 파일 생성] → [실행]
 

각 단계 설명:

  • 코드 작성: 사용자가 .c 확장자의 소스 파일을 작성합니다. 여기서는 visual studio 기준으로 .cpp 로 작성합니다.
  • 컴파일(Compile): C언어 코드를 기계어로 번역합니다. 결과는 .obj 또는 .o 파일.
  • 링크(Link): 여러 번역된 파일과 필요한 라이브러리들을 하나로 묶어 **실행 파일(.exe)**을 만듭니다.
  • 실행(Run): 만들어진 실행 파일을 컴퓨터가 실행합니다.

이 과정을 자동으로 수행해 주는 것이 컴파일러(compiler)입니다. 대표적인 컴파일러로는 GCC, MSVC, Clang 등이 있습니다.

출처 입력

1.5 프로그램의 구조: 입력, 처리, 출력

모든 프로그램은 기본적으로 입력(Input)처리(Processing)출력(Output) 구조로 되어 있습니다.

예시) 학생 점수 계산 프로그램

  • 입력: 이름과 점수를 입력받음
  • 처리: 평균을 계산함
  • 출력: 평균과 등급을 화면에 출력

이러한 구조를 이해하고 나면, 복잡한 프로그램도 더 쉽게 분석할 수 있습니다.

 

1.6 프로그램이 사용하는 메모리 구조

컴퓨터는 프로그램을 실행할 때 RAM(메모리) 위에 다음과 같은 공간을 만들어 사용합니다. 이 부분은 처음에는 너무 어려운 부분일 수 있으니 “아 이런게 있구나!” 하고 한번 쑥 읽고 넘어 가면 됩니다.

┌──────────────┐
│ 스택(Stack)   │ ← 지역 변수, 함수 호출 정보
├──────────────┤
│ 힙(Heap)      │ ← 동적 메모리 할당 영역 (malloc 등)
├──────────────┤
│ 데이터 영역   │ ← 전역변수, static 변수
├──────────────┤
│ 코드 영역     │ ← 프로그램 명령어 (실행 코드)
└──────────────┘
 

이 구조는 이후 포인터나 메모리 문제를 이해하는 데 큰 도움이 됩니다.

 

1.7 개발 도구(IDE) 소개

C언어를 작성하려면 컴파일러 뿐만 아니라 편리한 에디터가 필요합니다.

대표적인 통합 개발 환경(IDE) 도구는 다음과 같습니다.

 

  • Code::Blocks (Windows, GCC 기반)
  • Visual Studio (Windows, MSVC 기반, 강력한 디버깅)
  • Dev-C++ (경량 IDE)
  • VS Code + gcc/clang (범용 편집기 + 터미널 컴파일)

 

간단한 개인 학습용으로는 Dev-C++ 도 좋지만 좀 더 길게 보면 Visual Studio를 권장합니다.

게임플밍마스터 수업은 Visual Studio 를 사용합니다.

 

프로그램 수업을 시작하려면 일단 Visual Studio 를 설치해야 합니다.

설치가 됐다면 이제 프로그램을 작성해 보겠습니다.


1.8 Hello World 프로그램

C언어의 첫걸음은 화면에 문장을 출력하는 것입니다.

아래는 가장 기본적인 “Hello, World!” 프로그램입니다.

Visual Studio 를 설치 했다면 아래의 프로그램을 따라서 코딩해 보세요.

#include <stdio.h> 

int main() 
{
    printf("Hello, world!\n");
    return 0;
}
 

오타가 있거나 잘못 작성한 경우 빨간 줄이 해당 글자 아래에 표시가 되니 오타를 수정하세요.

 

오타 없이 타이핑이 됐다면 Visual Studio 상단 메뉴에서 빌드\\솔루션 빌드 를 클릭해서 빌드합니다.

빌드를 하면 위에서 설명한 것과 같이 컴파일을 통해 실행 파일 (.exe) 를 만들게 됩니다.

 

만들어진 실행 파일을 실행하면 되는데

상단 메뉴에서 디버그\\디버그 않고 시작 을 클릭하거나 Ctrl + F5 을 눌러서 만든 프로그램을 실행합니다.

 

실행이 되면 검은 색 화면의 윈도우가 뜨고 상단에 Hello, world! 라고 출력되면 성공입니다.

혼자하다 보면 여기까지 오기도 힘들고 안되는 거 투성이 일 수 있어요.

 

잘 안되면 댓글로 질문하세요 ~

 

소스 설명인데 이런거 구나 하고 지금은 읽어보세요

 

  • #include <stdio.h>: 출력에 필요한 함수가 들어 있는 헤더 파일을 포함
  • main(): 프로그램이 시작되는 함수
  • printf(...): 문자열 출력 함수
  • return 0;: 정상 종료

 

여기서는 하나만 꼬옥 이해하고 넘어 갑니다.

프로그램 즉 소스는 main 부터 시작을 한다는 거 ~

프로그램이 아무리 복잡해도 무조건 이 main 문에서 시작해서 차례대로 아래로 내려간다 를 명심하세요 .