Skip to content

Repository files navigation

LearnC banner

GitHub Stars Code Size Repo Size Top Language


Learn C by building real programs.


What's Here

Basics

Learn C syntax and fundamentals through working examples. Variables, pointers, functions, memory - everything you need to write real C code.

→ Go to Basics

File I/O & Serialization

Master reading and writing files. Text files, binary files, CSV parsing, JSON handling. Proper error handling and resource management.

→ Go to File I/O

Algorithms

Classic algorithms with visual output. Sorting (bubble, merge, quick), searching (binary), recursion, and backtracking. See Big O in action.

→ Go to Algorithms

Data Structures

Build data structures from scratch. Linked lists, stacks, queues, trees, hash tables, graphs, heaps. See how they actually work internally.

→ Go to Data Structures

Game Programming

Make actual playable games. Snake, Pong, Breakout using the renderer. Learn game loops, collision detection, input handling, state machines.

→ Go to Game Programming

Memory Management

Master manual memory management. Debug leaks, build custom allocators (arena, pool, stack), understand malloc/free internals.

→ Go to Memory Management

Multithreading

Concurrent programming with threads. Race conditions, mutexes, deadlocks, producer-consumer patterns. Learn to write safe parallel code.

→ Go to Multithreading

Networking

Network programming with sockets. TCP/UDP clients and servers, multi-client handling, HTTP basics, file transfer.

→ Go to Networking

Renderer

Software rendering from scratch - everything runs on CPU, no GPU. 2D graphics, 3D projection, lighting, particles, and a simple game.

→ Go to Renderer

Scripting Language

Build your own programming language from scratch. Tokenizer, parser, evaluator, variables, functions, control flow. See how interpreters work internally.

→ Go to Scripting Language

Text Editor

Build a real working text editor from scratch. Text buffers, cursor movement, keyboard input, file operations. Understand how vim and VSCode work.

→ Go to Text Editor

Audio Processing

Master digital audio fundamentals. WAV file parsing, audio effects (delay, reverb, distortion), FFT frequency analysis, synthesis, and multi-track mixing - everything you need to build audio software.

→ Go to Audio Processing

Image Processing

Learn digital image processing fundamentals. BMP file handling, image filters (blur, sharpen, edge detection), color manipulation, transformations (rotate, scale, crop), and effects - build your own image editor.

→ Go to Image Processing

Cryptography

Learn cryptography fundamentals in C. Hash functions (MD5, SHA-256), symmetric encryption (AES, XOR), asymmetric encryption (RSA), password hashing, digital signatures, and secure coding - understand security at a low level.

→ Go to Cryptography

Compression

Learn data compression algorithms in C. Run-Length Encoding, Huffman coding, LZ77 sliding window - understand how ZIP, gzip, and PNG compression work by building them from scratch.

→ Go to Compression


LearnC showcase

About

Learn C by building real programs.

Topics

Resources

Stars

7 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages