0Pricing
C Academy icon

C Academy

CSystemsBackendBeginner

C Programming Academy에서 C 언어로 프로그래밍의 튼튼한 기초를 다지세요.

🤖 AI 기반📚 39개 코스👥 100,000명 이상의 학습자⭐ 4.9 평점
코스 개요

운영체제, 컴파일러, 임베디드 하드웨어를 움직이는 언어

C는 역사적 유물이 아닙니다 — Linux, SQLite 데이터베이스 엔진, CPython 인터프리터, 그리고 오늘날 출시되는 거의 모든 마이크로컨트롤러 펌웨어의 기반이 되는 언어입니다. C를 이해한다는 것은 메모리가 실제로 어떻게 작동하는지, 프로세서가 명령을 어떻게 실행하는지, 그리고 왜 모든 고수준 언어이 그런 선택을 하는지를 이해한다는 뜻입니다. 이 트랙은 첫 printf부터 메모리 할당자, 해시 테이블, 연결 리스트, 작동하는 인터프리터 작성까지 C를 다룹니다.

배우게 될 것

연산자, 제어문, 포맷팅된 I/O, 타입 캐스팅부터 시작한 후 표준 라이브러리 — math.h, string.h, ctype.h — 그리고 열거형, 명령줄 인수, 저장소 클래스, 전처리기 매크로 같은 C 특화 주제로 넘어갑니다. 중급 단계에서는 포인터와 동적 메모리 관리, 함수 포인터와 콜백, 가변 함수, 모듈식 다중 파일 프로젝트를 다룹니다. 핵심 데이터 구조를 처음부터 구현합니다: 연결 리스트, 이진 트리, 해시 테이블, 동적 배열. 고급 과정에서는 멀티스레딩과 동시성, 소켓 프로그래밍, 프로세스 간 통신, Valgrind를 이용한 메모리 디버깅, epoll을 이용한 네트워크 프로그래밍을 다룹니다.

학습 경로

39개 과정이 A1부터 C1까지 이어집니다. A1과 A2 과정은 문법, 재귀, 표준 라이브러리를 다집니다. 11개의 B1 과정은 실무 기술을 쌓습니다 — 파일 처리, 비트 조작, 구조체와 공용체, 전처리기. 10개의 B2 과정은 더 깊이 들어갑니다: 동적 메모리, 정렬 알고리즘, 해시 테이블, 그리고 C Building a Memory Allocator로 마무리됩니다. 7개의 C1 과정은 시스템 수준의 작업으로 트랙을 마감합니다: Multithreading and Concurrency, C Socket Programming, C Memory Debugging with Valgrind, C Writing a Simple Interpreter, C Network Programming with epoll.

작동 방식

각 과정은 기본 제공 코드 에디터에서 실시간 피드백을 받으며 완료하는 짧고 집중된 레슨으로 나뉩니다. segfault, 링커 에러, 포인터 산술의 off-by-one 오류에 막혔을 때 언제든 AI 튜터를 이용할 수 있습니다. 진도는 레슨별로 추적되므로 세션 간에 멈춘 곳에서 다시 시작할 수 있으며 진행 상황을 잃지 않습니다.

학습 시작 →

학습 방식

🎯
인터랙티브 레슨
실시간 피드백을 받으며 직접 코딩 연습하기
🤖
AI 튜터
막힐 때마다 AI 튜터에게 즉시 도움받기
💻
내장 에디터
브라우저에서 바로 코드 작성 & 실행하기
🏆
수료증
과정을 완료하면 수료증 취득하기
커리큘럼

39개 코스

C Academy 학습 경로의 모든 코스.

01

C 언어 입문

A13개 레슨

C는 속도와 저수준 기능으로 잘 알려진, 가장 영향력 있는 프로그래밍 언어 중 하나입니다. 메모리와 하드웨어에 직접 접근할 수 있어 운영 체제, 임베디드 시스템, 고성능 애플리케이션에 적합합니다. 이 섹션에서는 C의 역사와 오늘날에도 C가 여전히 중…

02

C 수학 라이브러리(math.h)

A14개 레슨PRO

C 표준 수학 함수로 실제 수치 계산을 수행합니다.

03

C 연산자와 표현식

A24개 레슨PRO

C 연산자와 표현식: 산술 연산자, 관계 연산자와 논리 연산자 등

04

C 서식 지정 입력과 출력

A24개 레슨PRO

C 서식 지정 입력과 출력: printf 서식 지정자, scanf와 입력 등

05

C 타입 변환과 캐스팅

A24개 레슨PRO

C 타입 변환과 캐스팅: 암시적 변환, 명시적 캐스트 등

06

C 문자 처리와 ctype

A24개 레슨PRO

C 문자 처리와 ctype: 정수로서의 문자, ctype 라이브러리 등

07

C 재귀 기법

A24개 레슨PRO

함수가 자기 자신을 호출하도록 해 문제를 해결합니다.

08

C 열거형과 상수

A24개 레슨PRO

enum, const, #define으로 값에 이름을 붙입니다.

09

C 명령줄 인수

A24개 레슨PRO

C 명령줄 인수: argc와 argv, 옵션 파싱 등

10

C의 제어 흐름

A23개 레슨PRO

제어 흐름 구조를 사용하면 프로그램이 상황에 따라 판단하고 명령을 동적으로 실행할 수 있습니다. 이 섹션에서는 조건문과 반복문을 사용하여 프로그램 실행을 제어하는 방법을 배웁니다. 이러한 구조는 사용자의 입력에 반응하고 데이터를 효과적으로 처리하는…

11

C 저장 클래스와 범위

B14개 레슨PRO

C 저장 클래스와 범위: auto와 지역 범위, static 변수 등

12

C 비트 조작

B14개 레슨PRO

C 비트 조작: 비트 단위 연산자, 시프트 등

13

C string.h 라이브러리

B14개 레슨PRO

C string.h 라이브러리: strlen, strcpy, strcat, strcmp와 비교 등

14

C 모듈형 다중 파일 프로젝트

B14개 레슨PRO

헤더와 컴파일 단위로 C 프로그램을 여러 파일에 나누어 구성합니다.

15

C 동적 배열 다루기

B14개 레슨PRO

malloc과 realloc으로 힙에 크기를 조절할 수 있는 배열을 만듭니다.

16

함수와 모듈화 프로그래밍

B13개 레슨PRO

함수를 사용하면 코드를 재사용하고 프로그램을 더 잘 구성할 수 있습니다. 이 섹션에서는 함수를 정의하고 호출하는 방법, 인수를 전달하는 방법, 반환값을 사용하는 방법을 다룹니다. 또한 모듈화되고 유지 보수하기 쉬운 프로그램을 만드는 데 도움이 되는…

17

C의 배열과 문자열

B13개 레슨PRO

배열과 문자열은 여러 요소를 저장하는 데 사용되는 기본 자료 구조입니다. 이 섹션에서는 구조화된 데이터를 다루는 데 중요한 배열과 문자열을 선언하고 초기화하며 조작하는 방법을 배웁니다.

18

구조체, 공용체, 열거형

B13개 레슨PRO

구조체와 공용체를 사용하면 복잡한 자료형을 정의할 수 있고, 열거형을 사용하면 읽기 쉬운 상수를 만들 수 있습니다. 이 섹션에서는 이러한 기능의 활용 사례와 장점을 다룹니다.

19

C의 파일 처리

B13개 레슨PRO

파일 연산을 사용하면 프로그램이 데이터를 영구적으로 저장하고 가져올 수 있습니다. 이 섹션에서는 C에서 파일을 읽고 쓰는 방법을 다룹니다.

20

전처리기 지시문과 매크로

B13개 레슨PRO

C 전처리기를 사용하면 매크로를 정의하고, 파일을 포함하며, 조건에 따라 코드를 컴파일할 수 있습니다. 이 섹션에서는 이러한 강력한 도구를 소개합니다.

21

C 동적 메모리 관리

B24개 레슨PRO

C 동적 메모리 관리: malloc과 free, calloc과 realloc 등

22

C 함수 포인터와 콜백

B24개 레슨PRO

C 함수 포인터와 콜백: 함수 포인터 선언하기, 함수 전달하기 등

23

C 가변 인수 함수

B24개 레슨PRO

C 가변 인수 함수: stdarg 매크로, printf와 유사한 함수 작성하기 등

24

C 연결 리스트 구현하기

B24개 레슨PRO

C 연결 리스트 구현하기: 단일 연결 리스트, 삽입과 삭제 등

25

C 이진 트리와 재귀

B24개 레슨PRO

C로 이진 트리를 구현하고 순회합니다.

26

포인터와 메모리 관리

B23개 레슨PRO

포인터는 메모리를 직접 조작할 수 있게 해 주는 C의 가장 강력한 기능 중 하나입니다. 이 섹션에서는 포인터, 메모리 주소, 성능을 최적화하는 동적 메모리 할당 기법을 이해하도록 도와드립니다.

27

C의 자료 구조

B23개 레슨PRO

자료 구조는 데이터를 효율적으로 저장하고 조작하는 방법을 제공합니다. 이 섹션에서는 C에서 일반적으로 사용하는 자료 구조를 다룹니다.

28

디버깅과 오류 처리

B23개 레슨PRO

신뢰할 수 있는 C 프로그램을 작성하려면 디버깅이 필수적입니다. 이 섹션에서는 디버깅 도구와 오류 처리 기법을 소개합니다.

29

C 해시 테이블 구현하기

B24개 레슨PRO

C 해시 테이블 구현하기: 해시 함수, 충돌 처리 등

30

C 정렬 알고리즘

B24개 레슨PRO

C 정렬 알고리즘: 버블 정렬과 삽입 정렬, 퀵 정렬 등

31

C 전처리기와 빌드 마스터하기

B24개 레슨PRO

C 전처리기와 빌드 마스터하기: 조건부 컴파일, 다중 파일 프로젝트 등

32

C 메모리 할당기 만들기

B24개 레슨PRO

직접 malloc을 작성하며 힙의 작동 방식을 이해합니다.

33

멀티스레딩과 동시성(고급)

C13개 레슨PRO

멀티스레딩을 사용하면 프로그램이 여러 작업을 동시에 실행할 수 있습니다. 이 섹션에서는 스레딩 개념과 동기화 기법을 다룹니다.

34

C 프로그램 빌드와 최적화

C13개 레슨PRO

효율적인 C 코드를 작성하는 일은 성능에 매우 중요합니다. 이 섹션에서는 대규모 애플리케이션을 최적화하고 빌드하기 위한 모범 사례를 다룹니다.

35

C 소켓 프로그래밍

C14개 레슨PRO

C 소켓 프로그래밍: 소켓 개요, TCP 서버 등

36

C 프로세스 간 통신

C14개 레슨PRO

C 프로세스 간 통신: 파이프, 공유 메모리 등

37

Valgrind를 사용한 C 메모리 디버깅

C14개 레슨PRO

Valgrind를 사용한 C 메모리 디버깅: Valgrind가 필요한 이유, 누수 탐지 등

38

C 간단한 인터프리터 작성하기

C14개 레슨PRO

표현식을 구문 분석하고 평가해 작은 언어를 만듭니다.

39

epoll을 활용한 C 네트워크 프로그래밍

C14개 레슨PRO

이벤트 기반 입출력으로 많은 연결을 효율적으로 처리합니다.

자주 묻는 질문

자주 묻는 질문

C Academy 강의는 무료인가요?

네, C Academy 강의를 무료로 시작하고 인터랙티브 레슨을 모두 무료로 완료할 수 있습니다. 선택적 PRO 구독을 통해 고급 AI 도구와 공유 가능한 수료증을 잠금 해제할 수 있습니다.

C을(를) 배우기 위해 사전 경험이 필요한가요?

아니요. 강의는 기초부터 시작하여 점차 더 심화된 주제로 나아가므로 C 경험이 없어도 시작할 수 있습니다.

CoddyKit에서 C은(는) 어떻게 배우나요?

직접 해보면서 배웁니다. 짧은 인터랙티브 레슨은 명확한 설명과 실시간으로 실행되는 실습 코딩 연습을 함께 제공하며, 24시간 AI 튜터가 막힐 때마다 맞춤형 도움을 줍니다.

C Academy을(를) 완료하면 수료증을 받나요?

네, PRO 학습자는 시험을 응시하고 C Academy 강의의 검증 코드가 포함된 공유 가능한 수료증을 취득할 수 있습니다.

휴대폰에서 C을(를) 배울 수 있나요?

네, CoddyKit은 웹과 iOS, Android 네이티브 앱으로 이용 가능하므로 어느 기기에서나 C을(를) 배우고 진행 상황이 모든 기기에서 동기화됩니다.

C Academy을(를) 지금 시작하기

AI 기반 강의로 프로그래밍을 배우는 수천 명의 학습자들과 함께하세요.

무료로 시작하기 →모든 강의 보기