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

C Programming Masterclass: Pointers & Advanced C Language

Khóa Masterclass Lập trình C: Con trỏ & Ngôn ngữ C Nâng cao

Khóa Masterclass Lập trình C: Con trỏ & Ngôn ngữ C Nâng cao

Chủ đề Nâng cao Lập trình C: Con trỏ, Bộ nhớ, Ngôn ngữ C Cấp thấp và Chuẩn bị cho Embedded C

4.4
(1,603 đánh giá)
16,376 học viên
Giảng viên
Vlad Budnitski
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
79.000đ 349.000đ -77%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
41.0 giờ video
253 bài giảng
2 bài quiz
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 07/06/2026

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

Giới thiệu Con trỏ Cho Người mới bắt đầu
Khai báo, Khởi tạo và Sử dụng Con trỏ
Truy xuất Giá trị qua Con trỏ (Dereferencing)
Con trỏ Cấp độ nhiều lần (Multiple Indirection)
Số học Con trỏ
Con trỏ Tổng quát (Generic Pointers)
Cấp phát Bộ nhớ Động
Hàm "malloc"
Hàm "calloc"
Hàm "realloc" & các "vấn đề"
Hàm "free"
Con trỏ Lơ lửng (Dangling Pointers)
Công cụ Phát hiện Rò rỉ Bộ nhớ - Valgrind
Số học Con trỏ
Toán tử "sizeof"
Mảng & Con trỏ
Chuỗi & Con trỏ
Một vài Bí mật về Chuỗi sử dụng Con trỏ
Con trỏ Hàm
Mảng các Con trỏ tới Hàm
Cấu trúc & Con trỏ
Trình gỡ lỗi & Kỹ thuật Gỡ lỗi
Ma trận 2D với Con trỏ
Giới thiệu Kiến trúc Máy tính
Căn chỉnh Dữ liệu & Cấu trúc
Tệp Tuần tự và Văn bản
Tệp Cấu trúc và Nhị phân
Quản lý Dự án
MACRO
Enums
Hằng số
Các Phép toán Bitwise (Nhúng)
Trường Bit (Bit Fields)

Yêu cầu

Kiến thức cơ bản về ngôn ngữ lập trình C - lý tưởng là đã hoàn thành khóa học "C Programming for Beginners" của tôi trên Udemy
Máy tính chạy Windows, Linux hoặc Mac OS
Ít nhất 4GB RAM (đề xuất)

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

Dành cho Lập trình viên C có Kiến thức Cơ bản (và Hơn thế)
Sinh viên các Khoa Máy tính và Kỹ thuật
Lập trình viên C cần học và hiểu sâu về Con trỏ
Khóa học này KHÔNG nhắm đến "người hoàn toàn mới bắt đầu". Bạn nên có một chút kiến thức cơ bản về Lập trình C trước khi đăng ký. Tôi đề xuất nên mua khóa học "C Programming for Beginners" của tôi trước, hoàn thành đầy đủ, sau đó quay lại để có trải nghiệm tối ưu với Con trỏ.

Nội dung khóa học

30 phần • 251 bài giảng
1 Giới thiệu Khóa học
2 Về khóa học
3 Cập nhật nhanh: scanf & CRT - cách làm việc với nó?
1 Giới thiệu Con trỏ + Minh họa Tổng quan
2 Tại sao sử dụng Con trỏ? [Lý do & Động lực]
3 Những lý do và động lực khác đằng sau việc sử dụng con trỏ
4 Khai báo & Sử dụng Con trỏ
5 Khởi tạo Con trỏ
6 Truy xuất Giá trị Ngắn gọn
7 Thử thách #1 - In Giá trị & Địa chỉ của một Biến
8 Thử thách #2 - Đoán Kết quả Đầu ra
9 Hướng dẫn Độc quyền về Truyền Tham chiếu
10 Tóm tắt Nhanh
1 Giới thiệu Số học Con trỏ
2 Ví dụ về Số học Con trỏ
3 Quy tắc - Tóm tắt
4 Số học Con trỏ - Bài tập Tự làm
5 Toán tử "sizeof" - Giới thiệu
6 Toán tử "sizeof" - Thực hành Cơ bản
7 "sizeof" & Mảng Tĩnh
8 "sizeof" & Con trỏ
1 Bài tập - Hàm Hoán đổi
2 Cột mốc #1 - Phát triển Hàm Hoán đổi Thực sự của Bạn!
3 Cột mốc #1 - Lời giải
4 Con trỏ Cấp độ nhiều lần
5 Con trỏ Tổng quát (void *) - "void *" là gì? [Con trỏ Tổng quát Phổ dụng]
6 Hàm Hoán đổi Tổng quát (bao gồm hàm "memcpy")
1 Mảng - Biểu diễn Bộ nhớ
2 Truyền một Mảng vào Hàm
3 Tìm kiếm xem một Phần tử có trong Mảng cho trước không
4 Thử thách#1 [Câu hỏi]: Hàm Tìm Giá trị Lớn nhất của Mảng và Trả về
5 Thử thách#1 [Lời giải]: Hàm Tìm Giá trị Lớn nhất của Mảng và Trả về
6 Thử thách #2 [Câu hỏi]: Tính Giá trị Trung bình của Mảng (dùng 2 hàm)
7 Thử thách #2 [Lời giải]: Tính Giá trị Trung bình của Mảng (dùng 2 hàm)
8 Hàm Nhập & In - (hữu ích cho bất kỳ mảng nào)
9 Thử thách #3 - Tìm và Truyền qua Con trỏ - Giá trị "Min" & "Max" của mảng
10 Thử thách #3.1 [Bổ sung] - Hàm Cập nhật Giá trị Trung bình qua Tham chiếu
11 Thử thách #3.1 [Lời giải] - Hàm Cập nhật Giá trị Trung bình qua Tham chiếu
12 Thử thách #4 - Mảng có Phần tử nào với "Hàng xóm Tốt" không - Câu hỏi
13 Thử thách #4 - Mảng có Phần tử nào với "Hàng xóm Tốt" không - Lời giải
14 Thử thách #5 - Hàm Kiểm tra Mảng đã Sắp xếp chưa - Câu hỏi
15 Thử thách #5 - Lời giải Lặp
16 Thử thách #5 - Lời giải Đệ quy Nâng cao [Dùng Đệ quy & Hàm]
17 Thử thách #6 - Đảo ngược Mảng dùng Số học Con trỏ - Lặp & Đệ quy - Câu hỏi
18 Thử thách #6 - Đảo ngược Mảng dùng Số học Con trỏ - Lặp & Đệ quy - Lời giải
19 (phiên bản cũ) - Bài tập - Đảo ngược Mảng Dùng Đệ quy và Số học Con trỏ
20 Thử thách #7 - Đếm và In Tần suất của Mỗi Phần tử trong Mảng - Câu hỏi
21 Thử thách #7 - Đếm và In Tần suất của Mỗi Phần tử trong Mảng - Lời giải
22 Thử thách #8 - Tìm & Trả về Phần tử "Nhỏ thứ Hai" - Câu hỏi
23 Thử thách #8 - Tìm & Trả về Phần tử "Nhỏ thứ Hai" - Lời giải
24 Thử thách #9 - Tìm 2 phần tử cụ thể trong Mảng Đã Sắp xếp O(n^2) & O(n) - Câu hỏi
25 Thử thách #9 - Tìm 2 phần tử cụ thể trong Mảng Đã Sắp xếp O(n^2) & O(n) - Lời giải
26 Thử thách #9 - Tìm 2 phần tử cụ thể - Lời giải Tối ưu
27 CHÚ Ý! Vấn đề với Việc Trả về Mảng Tĩnh từ Hàm
28 Luyện tập Thêm #1 - Đệ quy - Kiểm tra Mảng số nguyên có phải Palindrome - Câu hỏi
29 Luyện tập Thêm #1 - Đệ quy - Kiểm tra Mảng số nguyên có phải Palindrome - Lời giải
30 Luyện tập Thêm #2 - Đảo dấu Mảng bằng Đệ quy - Câu hỏi
31 Luyện tập Thêm #2 - Đảo dấu Mảng - Lời giải
32 Luyện tập Thêm #3 - Giá trị Lớn nhất của 2 Phần tử Liền kề (dùng con trỏ) - Câu hỏi
33 Luyện tập Thêm #3 - Giá trị Lớn nhất của 2 Phần tử Liền kề (dùng con trỏ) - Lời giải
34 Luyện tập Thêm #4 - In các Phần tử Mảng dùng Con trỏ trong C - Câu hỏi
35 Luyện tập Thêm #4 - In các Phần tử Mảng dùng Con trỏ trong C - Lời giải
36 Luyện tập Thêm #5 - Dùng Đệ quy, Con trỏ & Hàm - Tìm Trung bình Mảng - Câu hỏi
37 Luyện tập Thêm #5 - Dùng Đệ quy, Con trỏ & Hàm - Tìm Trung bình - Lời giải
38 Luyện tập Thêm #6 - Các phần tử liền kề được sắp xếp trong Mảng Số thực - Câu hỏi
39 Luyện tập Thêm #6 - Các phần tử liền kề được sắp xếp trong Mảng Số thực - Lời giải
40 Luyện tập Thêm #7 - In số ở dạng Nhị phân dùng Hàm Đệ quy - Câu hỏi
41 Luyện tập Thêm #7 - In số ở dạng Nhị phân dùng Hàm Đệ quy - Lời giải
1 Hoán đổi với Độ phức tạp O(n)
2 Hoán đổi với Độ phức tạp O(1)
3 Hoán đổi Mảng(O1) - Minh họa Sâu hơn & Giải thích Bổ sung - phần 1
4 Hoán đổi Mảng(O1) - Minh họa Sâu hơn & Giải thích Bổ sung - phần 2
1 DMA là gì và tại sao chúng ta có thể cần nó?
2 Hàm "malloc"
3 Thử thách #1 - Tạo và Trả về Mảng được Cấp phát Động từ Hàm
4 Thử thách #2 - In Mảng được Cấp phát Động
5 Hàm "calloc"
6 Hàm "free"
7 Con trỏ Lơ lửng
8 Tìm Rò rỉ Bộ nhớ [Valgrind]
9 Hàm "realloc"
10 Các vấn đề với "realloc"
11 "realloc" - ví dụ mã thực tế
12 Tự triển khai "hàm realloc tổng quát" của bạn - Câu hỏi
13 Tự triển khai "hàm realloc tổng quát" của bạn - Lời giải #1
14 Tự triển khai "hàm realloc tổng quát" của bạn - Lời giải #2 - dùng memcpy
15 Tái cấp phát Có thể điều chỉnh + Hiệu suất - Câu hỏi
16 Tái cấp phát Có thể điều chỉnh + Hiệu suất - Giải thích & Lời giải
17 Câu hỏi QUAN TRỌNG - Tạo và Truyền Mảng 1D dùng Con trỏ tới Con trỏ!
18 Lời giải QUAN TRỌNG - Tạo và Truyền Mảng 1D dùng Con trỏ tới Con trỏ!
1 Bài tập #1 - Tạo "mảng mới" KHÔNG CÓ PHẦN TỬ TRÙNG LẶP
2 Bài tập #2 - Tách "mảng nguồn" thành các mảng CHẴN và LẺ
3 Bài tập #3 - Cấp phát mảng "Chữ thường" & "Chữ hoa"
4 Nâng cao: Hàm Chèn Tổng quát Thực tế - Câu hỏi
5 Nâng cao: Hàm Chèn Tổng quát Thực tế - Lời giải
6 Nâng cao: Hàm Xóa Tổng quát Thực tế - Câu hỏi
7 Nâng cao: Hàm Xóa Tổng quát Thực tế - Lời giải
8 Câu hỏi - Sao chép Mảng và truyền mảng mới qua Tham chiếu
9 Lời giải - Sao chép Mảng và truyền mảng mới qua Tham chiếu
1 Ma trận Động - Giới thiệu
2 Mảng các Con trỏ - Giới thiệu & Cách dùng
3 Cách dùng Mảng các Con trỏ SO VỚI Mảng 2D Tĩnh
4 Tạo Mảng 2D Hoàn toàn Động
5 Phát triển hàm "allocate2DMatrix"
6 Phát triển hàm "print2DMatrix"
7 Phát triển hàm "freeMatrix"
8 Câu hỏi Thực hành - Mảng Động 2D - Câu hỏi
9 Hoán đổi 2 hàng trong Mảng Động 2D - dùng Cách tiếp cận Tổng quát (lời giải)
10 Hoán đổi 2 cột trong Mảng Động 2D - cho Mảng số nguyên 2D
11 Câu hỏi - 2 hàm tạo ma trận tam giác dưới và trên
12 Lời giải - 2 hàm tạo ma trận tam giác dưới và trên
13 Câu hỏi - viết hai hàm để IN - ma trận tam giác dưới và trên
14 Lời giải - 2 hàm để in - ma trận tam giác dưới và trên
15 Trung cấp: Hàm Cấp phát và Truyền Ma trận 2D qua Tham chiếu - Câu hỏi
16 Trung cấp: Hàm Cấp phát và Truyền Ma trận 2D qua Tham chiếu - Lời giải
1 Trả về một chuỗi từ hàm - ví dụ với "strConcat"
2 **Độc quyền** Bài giảng Bổ sung về Chuỗi & Con trỏ
1 Giới thiệu Triển khai Hàm Thư viện
2 Tìm Độ dài Chuỗi - Triển khai trong C (dùng con trỏ)
3 Nối 2 Chuỗi - Triển khai trong C (dùng con tr
4 Copying One String Into Another - Implementation in C (using pointers)
5 Comparing 2 Strings - Implementation in C (using pointers)
1 Introduction to Debugging
2 Debugger & Debugging Process - Learning the Basics
3 Using Breakpoints Effectively
4 Viewing Memory Representation in a Debugger Mode.
5 Debugging & Pointers - easy memory representation
6 Arrays & Pointers Arithmetic (diving deeper with the debugging process)
7 Debugging - Strings & 2D Matrix
1 Creating Arrays of Struct Variables in a Static Manner
2 Dynamically Allocated Array of Structs.
3 Passing structs to functions by value + Updating by Pointer
4 Structs Composition
5 Exercise: 2 functions to dynamically allocate an array of structs - Question
6 Exercise: 2 functions to dynamically allocate an array of structs - Solution
1 Project - School Management - Description & Requirements
2 Project - School Management - Developing the Project Together! Step-By-Step
3 System Simulation
4 School Management - Adding Functions for Freeing Dynamically Allocated Memory
5 Adding additional functions - Extending the Project
6 Project - School Management - Summary
1 Introduction to Memory, Architecture, and Alignment
2 Word & Architectures
3 Địa chỉ theo Từ (Word) so với Địa chỉ theo Byte
4 Căn chỉnh Biến (Variables Alignment)
5 Thực hành Kiểm tra Địa chỉ Biến trong Bộ nhớ bằng IDE
1 Giới thiệu về Padding (Căn chỉnh Dữ liệu với Struct) - Structure Padding trong C
2 Thực hành Sử dụng Bộ nhớ cho Biến Cấu trúc
3 Ví dụ #1 - Sử dụng Bộ nhớ cho Struct và Căn chỉnh Dữ liệu (+padding)
4 Ví dụ #2 - Sắp xếp lại Thứ tự Thành viên và Ảnh hưởng đến Sử dụng Bộ nhớ
5 Bài tập #1 - Structs, Tổ chức Thành viên, Căn chỉnh Dữ liệu và Bộ nhớ - Câu hỏi.
6 Bài tập #1 - Structs, Tổ chức Thành viên, Căn chỉnh Dữ liệu và Bộ nhớ - Lời giải.
7 Thêm Thành viên Dữ liệu vào Struct mà Không Tăng Kích thước Biến trong Bộ nhớ
8 Bài tập #2 - Structs, Tổ chức Thành viên, Căn chỉnh Dữ liệu và Bộ nhớ - Câu hỏi.
9 Bài tập #2 - Structs, Tổ chức Thành viên, Căn chỉnh Dữ liệu và Bộ nhớ - Lời giải.
10 Căn chỉnh Dữ liệu và Padding với Cấu trúc Lồng nhau
11 Đóng gói Chặt (Tightly packing) & Đóng gói Dữ liệu Không Căn chỉnh
1 Con trỏ Hàm - Giới thiệu
2 Ví dụ Vấn đề - Lý do sử dụng Con trỏ Hàm
3 Khai báo Con trỏ tới một Hàm
4 Ví dụ Mã với Con trỏ Hàm
5 Lỗi Thường gặp khi sử dụng Con trỏ Hàm
6 Mảng các Con trỏ Hàm
1 Bài tập - Sắp xếp Mảng sử dụng Con trỏ Hàm - Câu hỏi
2 Bài tập - Sắp xếp Mảng sử dụng Con trỏ Hàm - Lời giải
3 Dự án - Làm Pizza - Ứng dụng Thú vị của Con trỏ Hàm - Câu hỏi
4 Dự án - Làm Pizza - Ứng dụng Thú vị của Con trỏ Hàm - Lời giải
5 Sử dụng Con trỏ Hàm với Con trỏ Void trong C
1 Hàm "remove" - giới thiệu
2 Hàm "remove" - ví dụ thực tế
3 Hàm "rename" - giới thiệu
4 Hàm "rename" - bài tập thực hành - câu hỏi
5 Hàm "rename" - bài tập thực hành - lời giải
6 Các Hàm làm việc và Tìm Vị trí Tệp
7 Ví dụ thực tế - minh họa cách dùng hàm ftell, fseek và rewind
8 Hiểu về Tệp .dat và .txt
9 Bài tập #1 - Hàm Xóa Ký tự Khoảng trắng - Câu hỏi
10 Bài tập #1 - Hàm Xóa Ký tự Khoảng trắng - Lời giải
11 Bài tập #2 - Hàm Tách Tệp Chẵn Lẻ - Câu hỏi
12 Bài tập #2 - Hàm Tách Tệp Chẵn Lẻ - Lời giải
13 Bài tập #3 - Hàm So sánh 2 Tệp Văn bản - Câu hỏi
14 Bài tập #3 - Hàm So sánh 2 Tệp Văn bản - Lời giải
1 Những điều cần lưu ý khi làm việc với Tệp Tuần tự (Văn bản)
2 Giới thiệu về Tệp Cấu trúc
3 Ghi một Bản ghi Cấu trúc vào Tệp
4 Ghi 2 Điểm đọc từ người dùng vào tệp
5 Ghi một mảng các điểm vào tệp.
6 Tìm kiếm một điểm cụ thể trong tệp. Đọc.
7 [Ví dụ Chế độ "rb+"] - Sửa một điểm cụ thể trong tệp
8 Nhân một điểm cụ thể trong tệp với 3
9 Thử thách Đảo ngược Thứ tự Điểm trong Tệp - Câu hỏi
10 Thử thách Đảo ngược Thứ tự Điểm trong Tệp - Lời giải
11 [Ví dụ Chế độ "ab"] - Thêm một Điểm vào Tệp có sẵn
12 Thử thách - Xóa một Điểm khỏi Tệp - Câu hỏi
13 Thử thách - Xóa một Điểm khỏi Tệp - Lời giải
14 Dự án Nâng cao - Hồ sơ Sinh viên Nhị phân - Câu hỏi
15 Dự án Nâng cao - Hồ sơ Sinh viên Nhị phân - Lời giải
1 Tổ chức và Quản lý Dự án bằng Tệp Header và Source
2 Macro - Lý thuyết & Thực hành
1 Enum - Phần 1
2 Enum - Phần 2
1 Hằng số - Giới thiệu chung + Cách dùng
2 Hằng số - Tại sao & Khi nào + Ví dụ
1 Hàm - FreqAsValue - Câu hỏi
2 Hàm - FreqAsValue - Lời giải
3 Hàm - FindDominantValue - Câu hỏi
4 Hàm - FindDominantValue - Lời giải
5 Hàm - FindSpecificValueMaxSum - Câu hỏi
6 Hàm - FindSpecificValueMaxSum - Lời giải
7 Hàm - FindLargestMissingValue - Câu hỏi
8 Hàm - FindLargestMissingValue - Lời giải
9 Hàm - areAllCharactersIncluded - Câu hỏi
10 Hàm - areAllCharactersIncluded - Lời giải
1 Giới thiệu về Thao tác Bit + Toán tử NOT
2 Toán tử bitwise AND
3 Toán tử bitwise OR
4 Toán tử bitwise XOR và quan hệ với TOGGLE
5 Sử dụng NOT, AND, OR, XOR trong ngôn ngữ lập trình của bạn
6 Minh họa trong C/C++ - Bitwise NOT, AND, OR, XOR
7 Giới thiệu về Mặt nạ Bit (Bit Masks)
8 Tìm chữ số ngoài cùng bên phải bằng mặt nạ bitwise AND
9 Tìm chữ số ngoài cùng bên trái bằng mặt nạ bitwise AND
10 Tìm tổ hợp bit cụ thể trong một giá trị - sử dụng mặt nạ bit
11 Giới thiệu Quy trình Mặt nạ để Đặt bit cụ thể bằng toán tử bitwise OR
12 Thực hành Đặt bit cụ thể
13 Quy trình Mặt nạ để Tắt bit cụ thể bằng toán tử bitwise AND
14 14. Giới thiệu toán tử XOR cho Chức năng Bật/Tắt (Toggle)
15 Toán tử Dịch Trái & Dịch Phải
16 Hiển thị số ở dạng nhị phân (sử dụng Toán tử Dịch Bit) [Triển khai]
17 Triển khai Phép Xoay Phải Bitwise
18 Triển khai Phép Xoay Trái Bitwise
19 Câu hỏi Phỏng vấn: Bài tập - Triển khai Hoán đổi sử dụng Thao tác Bit
20 Lời giải - Triển khai Hoán đổi sử dụng Thao tác Bit - KHÔNG DÙng BIẾN THỨ BA
1 Giới thiệu về Trường Bit
2 Cách sử dụng Trường Bit trong C
3 Đọc và Ghi Trường Bit - Ví dụ Mã
4 Ví dụ Thực tế Thanh ghi Điều khiển sử dụng Cấu trúc Trường Bit
5 Cập nhật Trường Bit của Thanh ghi Điều khiển
6 Bài tập - Quyền Tệp - Thông tin Hệ thống Tệp - Câu hỏi
7 Bài tập - Quyền Tệp - Thông tin Hệ thống Tệp - Lời giải
8 Trường Bit - Tổng kết
1 Giới thiệu về Hình ảnh và Pixel
2 Biểu diễn Ảnh Thang độ Xám
3 Biểu diễn Ảnh Thang độ Xám - Minh họa Cơ bản trong C
4 Biểu diễn Ảnh RGB
5 Biểu diễn Ảnh RGB - Minh họa Cơ bản trong C
1 Chức năng Trộn (Merge) - Giới thiệu Chung
2 Chức năng Trộn trong C
3 Trộn Tại chỗ - Giới thiệu Chung - Cơ sở cho Merge Sort
4 Trộn Tại chỗ - Triển khai Thực tế - Phần A
1 Bài giảng Thêm

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

Welcome to the "Advanced C Programming Masterclass: Pointers & Memory in C"! This best-seller course is designed to elevate your C programming skills, with a particular focus on the C language, topics related to embedded C, and advanced C.

Introduction

C programming language still remains one of the most popular and used languages in 2025 and has great career options in different industries, such as:

- Cyber Security.

- Smart Homes & Smart Cities.

- Drones.

- And especially in Embedded Systems.


What will you learn in this course?

There is an 'ancient' phrase saying "to become an expert in C - you need to master pointers".

One of the main objectives of this course is designed to take your basic knowledge of pointers (one of the most significant topics) to the next level. The goal is to take the basic skills you've gained so far in C programming and take this knowledge to a whole new level.

We will cover pointers, memory addressing, pointers to functions, advanced concepts of structs and dynamic memory allocation, and so much more.

The beauty of this course is that it regularly gets updated with new material. And the material being added to the course these days includes lots of information in the low-level programming (the bits and bytes), preparation for usage of Embedded C in Embedded Systems, and other very important topics for the next generation of engineers.

This course covers the topics in-depth, from different angles, and with various visualizations and illustrations - that should make the learning process of pointers and low-level programming much easier and fun for you.

Also, you will get a whole dedicated section on how to use a debugger and what is the debugging process that may help you so much in developing your future applications.

After completing this course you will gain plenty of new skills and knowledge that may improve your chances of getting a job position as a C Developer as well as increasing your chances to pass the exam (if you're still a student).


What's different about this course?

Vlad Budnitski will be your instructor for this course.

He has years of experience working as a Software Developer (also working with complex systems developed in C language). As well as 4 years of experience teaching C Programming for Beginners and Advanced C Programming in College.

So you got lucky on this one because you will get knowledge from a practical software developer and experienced instructor.

You will get a handpicked, concise, and straight to the point material that you will be amazed by the way these complicated pointers can be taught.

This course is also guided with concrete exercises, challenges, and full solution videos - that will help you to practice the materials.


Who's this course for?

First of all, this course is not for "absolute beginners" and it requires you to have at least the basic knowledge of programming. It's assumed you have some knowledge of the basics in C - preferably having completed our "C Programming for Beginners" course (here on Udemy).

This course is great both for students in college as well as graduates who need to learn and understand pointers in depth.

In addition, if you're planning to explore and master the Embedded Systems domain using Embedded C - then this course is a great preparation of various topics for the Embedded Domain. Once you master all the concepts of this course you'll be a few steps closer to proceeding and mastering Embedded Systems, programming Micro Controllers, etc.

So, once again, why this course?


  1. Investment of Time: We've spent hundreds of hours perfecting this course to make your C language learning experience engaging and fun.

  2. Best-Seller Status: Our course stands out among others. It's a top choice for learners due to its in-depth, easy-to-understand approach to complex C programming topics.

  3. Ease of Learning: Don't worry about getting confused or lost. We're experts at breaking down difficult concepts into easily digestible content.

  4. Staying Current: We keep our content fresh and relevant with constant updates and improvements. Currently, we offer over 40 hours of practical C programming content.

  5. Hands-On Training: Theory is good, but practice is better. We provide lots of exercises, complete with video solutions to help cement your knowledge.

  6. Community Support: Got questions or doubts? Our active Q&A community is here to provide answers and support your learning journey.


List of topics

Our course covers a wide variety of C programming topics including:


  • The ABCs of Pointersin C Language: From declaration, initialization, usage, to dereferencing and more

  • Unraveling Complex C Programming Concepts: Multiple indirection, pointer arithmetic, and generic pointers

  • Memory Management: Dive into dynamic memory allocation, using C functions like malloc, calloc, realloc, and free

  • Advanced C Topics: Learn about dangling pointers, using the Valgrind memory leak tool, sizeof operator, arrays, strings, and the secrets of using pointers in strings

  • Function Mastery: Grasp function pointers, arrays of pointers to functions, structs, and pointers

  • Debugging Skills: Enhance your problem-solving capabilities with debugger and debugging techniques in C

  • Further Exploration: Delve into 2D matrices with pointers, computer architecture, data and structs alignment, sequential and textual files, structural and binary files, and project management

  • Detailed Insights: Understand MACRO, Enums, Constants, Bitwise Operations (Embedded), and Bit Fields

  • And more!


Words From Our Students

Check out what our students have to say about their experience with us:


“The lecturer explains the material clearly and intelligibly. The teaching material is well developed. So far, so good!” - Andrejs Ogurcovs


“This course is amazing for embedded systems engineering. Inside of this course there are a lot of examples of curriculum also about pointers that makes it helpful for learning.Finally I have understood to pointers. I wıll use in embedded systems that i have learnt knowledge about c programming in this lecturer.Thanks for your effort Vlad. Best regards.” - Emre Çakır


“This course is AWESOME AWESOME AWESOME. I had so many courses for C, and all of them copied each other. They mention about pointers in just 1 (ONE) video (10 minutes). If you have a programming experience, start from this course. AWESOME AWESOME AWESOME. If I could have gave 1000 starts, I would do this. The examples, exercises, slides, topics, the voice of the teacher, everything is flawless” - beyza Erdoğan


“Having this opportunity to review C and Pointers is pretty awesome. I have learnt a lot from Vlad about C which could be regarded as the fundamental of almost every programming language. I have taken Vlad's course from C Bootcamp to this advanced pointer course, and now I am confident to say that I know about C because I understand pointers now!! Hoping there would be more algorithm contents in the future, thanks Vlad!” - Matsu Chen


“Hands down this is the best course I have ever done. Visual clarification was very useful for understanding what is happening behind the scenes. I hope Vlad makes extensions of this course with more advanced topics and exercises. Thanks Vlad!” - Venelin Stoyanov


“Vlad did a great job explaining, illustrating, and covering many essential topics in pointers with enough examples. After completing this course, I feel more confident in using pointers in c programming.” - Abdel Alkuor


“I did the first course C Programming Language for Beginners and I liked it. This course is in the same level or more until now. Thank you so much.” - João Henrique Berg dos Santos


“I struggled so much understanding pointers and how they work, and why do I need them, I also struggled with the dynamic memory allocation, but after that course I think everything cleared, and even if I am still not working perfectly with these things, I finally understood them and how they work. Thank you so much Vlad! It was pleasure watching your videos!” - Julia Vasileva


“Highly recommend taking this course for any student in college. Saved me so much time and effort. It was clearly explained, straight to the point, covered in a couple of hours more than my teacher covered in the entire semester.” - Nikolay


Do you still have doubts?

That's OK. Pointers can get us all confused to some extent... If you're still unsure if this course is exactly what you're looking for, feel free to go over the full detailed curriculum.

In addition, we offer a full money-back guarantee for 30 days. So, you can enroll risk-free today, and get ready to master the world of advanced C programming! We can't wait to start this journey with you.

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
Hiển thị tất cả khoá học Memory Management
Hiển thị tất cả khoá học Pointers
Hiển thị tất cả khoá học Programming Languages
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊