Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Advanced C Programming

Lập trình C Nâng cao

Lập trình C Nâng cao

Khám phá sâu về con trỏ, bộ nhớ, cấu trúc bên trong của C và các dự án thực hành

4.5
(160 đánh giá)
2,784 học viên
Giảng viên
Ahmed Adel
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
50.000đ 349.000đ -86%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
8.0 giờ video
69 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 30/05/2026

Bạn sẽ học được gì

Giải thích mô hình thực thi hàm và cách CPU chạy mã của bạn
Hiểu biết sâu và toàn diện về con trỏ và quản lý bộ nhớ
Quản lý bộ nhớ an toàn và viết mã con trỏ chính xác
Sử dụng tiền xử lý và cờ biên dịch hiệu quả
Hiểu cách áp dụng các cấu trúc C (như cấu trúc, union, mảng, ...) vào bài toán thực tế
Triển khai các khái niệm cấp phát động cơ bản và chiến lược gỡ lỗi
Thiết kế chương trình C mô-đun hóa, có thể tái sử dụng
Đọc và ghi định dạng file nhị phân (ví dụ: thao tác với ảnh BMP)

Yêu cầu

Chỉ cần có kiến thức C cơ bản trước đó (viết Hello World / Kiểu dữ liệu / Câu lệnh if / Vòng lặp) là đủ

Đối tượng phù hợp

Dành cho học viên đã có bước đầu làm quen với lập trình C và muốn hiểu điều gì xảy ra "bên dưới lớp vỏ"
Học viên dự định sử dụng C làm ngôn ngữ chính trong công việc hoặc học tập
Học viên quan tâm đến hệ thống nhúng, thiết kế firmware, kernel, driver và các lĩnh vực lập trình cấp thấp khác

Nội dung khóa học

13 phần • 69 bài giảng
1 Chuẩn bị môi trường
2 GCC trên Windows
3 Quá trình biên dịch
4 File nguồn dự án
1 Chỉ thị #define
2 Macro dạng hàm
3 LƯU Ý khi sử dụng macro dạng hàm
4 Định nghĩa macro thông qua trình biên dịch
5 Macro được định nghĩa sẵn
6 Chỉ thị #include
7 Chỉ thị #if
8 Một số lưu ý về #if
1 Giải thích về Hàm
2 Demo Hàm
3 Biến cục bộ và Biến toàn cục
4 Demo Phạm vi và Vòng đời
5 Mô hình Thực thi Hàm
6 Demo Mô hình Thực thi Hàm
7 Quy ước gọi hàm (Calling Convention)
8 Hàm Lặp so với Hàm Đệ quy
9 Hàm so với Macro dạng hàm
10 Đánh đổi Hiệu suất và Kích thước Mã
1 Giới thiệu về Mảng
2 Lưu ý về mảng
3 Cách mảng được sắp xếp trong bộ nhớ
4 Đặc điểm của Mảng
5 Mảng 2 chiều và nhiều chiều
6 Ứng dụng thực tế của mảng
7 [DỰ ÁN]: Game TicTacToe
8 [DỰ ÁN]: Triển khai Game TicTacToe
9 Mở rộng TicTacToe
1 Giới thiệu về Con trỏ
2 Mảng và Con trỏ
3 Toán tử con trỏ và Ép kiểu con trỏ
1 [Khái niệm] Truyền theo Giá trị so với Truyền theo Địa chỉ
2 [Ví dụ] Truyền theo Giá trị so với Truyền theo Địa chỉ
3 Tham số đầu ra của hàm
4 Truyền/Trả về một mảng cho/từ hàm
5 [Khái niệm] Cấp phát bộ nhớ động
6 [Ví dụ] Cấp phát bộ nhớ động
7 Toán tử sizeof
1 Cách biểu diễn chuỗi trong C
2 Những điều Nên và Không nên với Chuỗi
3 Các hàm thao tác chuỗi chuẩn
1 Chủ đề Con trỏ Nâng cao
2 Ứng dụng: Thu thập đối số đầu vào
1 Giới thiệu về Cấu trúc
2 Truyền/Trả về cấu trúc cho/từ hàm
3 Mảng các Cấu trúc
4 Con trỏ tới Cấu trúc
5 Cấu trúc lồng nhau
6 Đóng gói và Đệm (Packing và Padding)
7 [DỰ ÁN] Trình quản lý bộ nhớ - Lý thuyết
8 [DỰ ÁN] Trình quản lý bộ nhớ - Thực hành
9 [DỰ ÁN] Thư viện phân tích đối số đầu vào
1 [DỰ ÁN] Menu - Lý thuyết
2 [DỰ ÁN] Menu - Thực hành
3 Tại sao nên dùng input[4] với fgets
4 Union và Cải thiện Menu
1 Enum
2 Typedef
1 Quản lý File
2 Các chế độ mở file
3 Cách sử dụng fprintf
1 Lý thuyết
2 Thực hành
3 Thực hành - Thay đổi độ tương phản của một ảnh bitmap bất kỳ
4 Lưu ý về file bitmap được dùng trong ví dụ này
5 Thêm ý tưởng cho dự án Bitmap để tự luyện tập

Giới thiệu khóa học

Already comfortable with C basics? Go under the hood. Join 2700+ happy students who rated the course at 4.65/5.

In 8 focused hours, you’ll master pointers, memory layout, compiler behavior, and system-level concepts — with hands-on projects that make them easier to digest. This course is concise by design: no filler, no wasted time, no detours into beginner topics — just the knowledge you need to write better C code immediately.


What you’ll learn (high level)

  • How the C preprocessor works and how to debug/preprocess code using compiler flags.

  • The function execution model: stack layout, argument passing, and local variable handling.

  • Pointers and dynamic memory: how pointers map to memory, common pitfalls, and safe usage.

  • Implementing a small dynamic memory manager to understand allocation mechanics.

  • Structures and unions with real-world examples.

  • Modular design principles to create reusable C code.

  • A hands-on project: building a BMP image editor to combine the concepts.


Course approach & highlights

  • Efficient: No fillers, no lengthy videos to pad content: only content to the point

  • Root-cause explanations: we don’t just show code; we explain why it behaves that way.

  • Real-life examples: no toy problems — examples modeled after real systems and tooling.

  • Hands-on projects: apply concepts immediately (including a BMP editor).

  • Practical tool usage: compiler flags, debugging tips, and techniques you’ll use in production.


By the end of this course you will be able to

  • Use preprocessors and compiler flags effectively.

  • Explain the function execution model and how the CPU executes your code.

  • Manage memory safely and write correct pointer code.

  • Implement basic dynamic allocation concepts and debugging strategies.

  • Design modular, reusable C programs.

  • Read and write binary file formats (example: BMP image manipulation).


Prerequisites

  • Basic familiarity with C (variables, loops, functions).

  • A C compiler (GCC/Clang) and a terminal or IDE. Nothing more advanced is required.


Final Course's Project

We finish by building a small BMP image editor that ties together preprocessing, memory management, structures/unions, and file I/O — a practical portfolio piece.


Guarantee & call to action
Udemy’s 30-day money-back guarantee applies. If you’re ready to understand C at a deeper level and build practical projects, enroll now and start learning.

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học C Language
Clean Code

Clean Code

Academind by Maximilian Schwarzmüller

4.6 (26435)
118,068
50.000đ -88%
Hiển thị tất cả khoá học Programming Fundamentals
Hiển thị tất cả khoá học Software Development
Hiển thị tất cả khoá học System Programming
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊