복습(C)

1강 - 프로그램과 C언어

mrgong-robotics 2026. 2. 22. 00:24

C언어 기초 복습 — C언어의 탄생과 컴파일 과정

오늘 C언어 기초를 공부하면서
C언어가 왜 만들어졌는지
코드가 실행되는 과정(컴파일) 을 정리해봤다.

입문 단계라서 개념을 정확히 이해하는 것이 중요하다.


C언어는 왜 만들어졌을까

 

C언어는 데니스 리치 가 만든 프로그래밍 언어다.

당시 목적은 운영체제를 만들기 위한 언어였다.
그 운영체제가 UNIX다.

즉 C언어는 처음부터
컴퓨터를 직접 제어하는 시스템 언어로 만들어졌다.


C언어의 특징 정리

오늘 배운 C언어 특징 3가지

  1. 시스템 프로그래밍 가능
    → 하드웨어 제어 가능
  2. 이식성이 높다
    → 컴퓨터가 달라도 컴파일하면 실행
  3. 함수 구조
    → 기능별로 나누기 쉬움

컴파일이란 무엇인가

컴퓨터는 사람이 작성한 코드를 이해하지 못한다.
컴퓨터가 이해하는 것은 0과 1뿐이다.

그래서 C코드를 기계어로 바꾸는 과정이 필요하다.

이 과정이 컴파일이다.


프로그램이 만들어지는 흐름

오늘 가장 중요한 개념

 
 
소스코드 작성
→ 전처리
→ 컴파일
→ 링크
→ 실행파일 생성
 

이 흐름은 계속 반복해서 보게 될 것 같다.


컴파일 3단계 복습

 
 

1단계 전처리

전처리 지시자 처리 단계

예:

 
 
#include <stdio.h>
 

의미:
printf 같은 함수가 들어있는 파일을 가져온다.

전처리에서 하는 일

  • include 처리
  • define 처리
  • 주석 제거

전처리 후에도 코드는 사람이 읽을 수 있다.


2단계 컴파일

코드를 기계어 형태의 중간 파일로 변환

 
 
.c → .obj
 

아직 실행파일은 아니다.


3단계 링크

중간 파일과 라이브러리를 연결해서 실행파일 생성

 
 
.obj → .exe
 

이때 프로그램 시작 위치가 정해진다.
C에서는 항상 main 함수가 시작점이다.

그래서 C프로그램에는 main이 반드시 필요하다.


핵심 정리

  • 컴퓨터는 기계어만 이해
  • C코드는 컴파일 필요
  • 컴파일 = 전처리 → 컴파일 → 링크
  • 프로그램 시작은 main

공부하면서 느낀 점

컴파일 과정을 이해하니까
코드가 어떻게 실행되는지 흐름이 보이기 시작했다.

특히 main 함수가 왜 필요한지
#include가 왜 있는지도 이해됐다.

앞으로 오류가 나면
전처리 문제인지, 컴파일 문제인지, 링크 문제인지
구분해볼 수 있을 것 같다.

 

본 포스팅은 『혼자 공부하는 C언어』 교재 내용을 바탕으로 개인 학습 목적으로 재구성·정리한 글입니다.
© 서현우, 한빛미디어

'복습(C)' 카테고리의 다른 글

4강 - 연산자  (0) 2026.02.24
3강 - 변수와 데이터 입력  (0) 2026.02.22
2강 - 상수와 데이터 출력  (0) 2026.02.22