Back to BlogQuay lại Blog
C Programming

Learn C Programming from Scratch: 12-Part Series

Tự học lập trình C từ số 0: Lộ trình chi tiết 12 phần

June 25, 2026 · 12 Lessons 25 tháng 6, 2026 · Lộ trình 12 bài học

This C programming guide is currently only available in Vietnamese. Please switch the language toggle (🇻🇳) to read the full guide.

C is the bedrock of modern software. This comprehensive 12-part series takes you from compiler installation to advanced pointers, memory management, data structures, preprocessor mastery, and an interactive browser-based visualizer — with professional debugging tools along the way.

Ngôn ngữ C là nền móng vững chắc của lập trình hệ thống, hệ điều hành và khoa học máy tính. Học C giúp bạn rèn luyện tư duy tối ưu hóa tài nguyên phần cứng, hiểu sâu sắc cơ chế hoạt động của bộ nhớ RAM và thiết lập một nền tảng lập trình cực kỳ vững vàng trước khi bước sang các ngôn ngữ khác.

Chuỗi bài viết này được thiết kế theo lộ trình khoa học từ cơ bản đến nâng cao, đi kèm các khung giả lập IDE trực quan và công cụ tương tác ngay trên trình duyệt để việc học lập trình không còn khô khan.

Lộ trình bài học chi tiết:

01

Bài 1: Cài đặt môi trường, Compiler Flags, Makefile & GDB

Cài đặt GCC/Clang, VS Code, cờ biên dịch chuyên nghiệp (-Wall, -Wextra, -g), tự động hóa build với Makefile và gỡ lỗi cơ bản bằng GDB.

02

Bài 2: Cú pháp cơ bản, Biến, Kiểu dữ liệu & Nhập xuất

Cấu trúc chương trình C, biến, scanf/printf, format specifiers, type modifiers, sizeof, enum, hằng số và ép kiểu dữ liệu.

03

Bài 3: Toán tử, Thứ tự ưu tiên & Phép toán Bitwise

Toán tử số học, so sánh, logic. Bảng thứ tự ưu tiên 15 cấp. Bitwise AND/OR/XOR/NOT/Shift, Endianness và ứng dụng thực tế (RGB packing, IP, flags).

04

Bài 4: Cấu trúc rẽ nhánh & Vòng lặp: Nền tảng thuật toán

Câu lệnh điều kiện (if-else, switch), vòng lặp (for, while, do-while), short-circuit evaluation, jump tables và goto cleanup pattern.

05

Bài 5: Hàm, Đệ quy & Phạm vi biến

Khai báo hàm, prototype, truyền tham trị, biến cục bộ/toàn cục/static, đệ quy (factorial, fibonacci), variadic functions và con trỏ hàm callback.

06

Bài 6: Mảng, Chuỗi ký tự & Xử lý văn bản

Mảng 1D/2D, row-major layout, C strings, string.h (strlen, strcpy, strtok...), nhập chuỗi an toàn với fgets, kỹ thuật xử lý chuỗi nâng cao.

07

Bài 7: Cấu trúc Struct, Union, Typedef & Bit-fields

Kiểu dữ liệu phức hợp struct, padding/alignment, pragma pack, bit-fields, typedef, union và so sánh bản chất lưu trữ RAM.

08

Bài 8: Làm chủ Con Trỏ (Pointers) từ cơ bản đến nâng cao

Địa chỉ bộ nhớ, con trỏ cấp 1/2, pointer arithmetic, const/restrict, con trỏ hàm, giả lập Vtable OOP và các lỗi con trỏ nguy hiểm.

09

Bài 9: Cấp phát bộ nhớ động, Quản lý bộ nhớ & Debug Tools

Process memory layout, Stack vs Heap, malloc/calloc/realloc/free, Valgrind, AddressSanitizer và quy trình kiểm tra bộ nhớ chuyên nghiệp.

10

Bài 10: Cấu trúc dữ liệu, Big O & CPU Cache Locality

Linked List, Stack, Queue từ scratch. Phân tích Big O ($O(1)$ đến $O(N!)$), CPU cache locality, space-time trade-off.

11

Bài 11: Lập trình đa tệp, Preprocessor & Công cụ Build

Header/source files, header guards, extern/static linkage, C preprocessor (#define, #ifdef, stringification), conditional compilation và Makefile nâng cao.

12

Bài 12: Trực quan hoá Cấu trúc dữ liệu tương tác trong trình duyệt

Bài học tổng kết. Mô phỏng hoạt ảnh con trỏ liên kết chạy trực tiếp trên web để trực quan hóa cách node hoạt động.