Con trỏ (Pointer)

Pointer và String

Chuỗi là thành phần phổ biến của nhiều ứng dụng và là một chủ đề phức tạp. Trong chương này, chúng ta sẽ khám phá các cách khai báo và khởi tạo chuỗi khác nhau. Chúng ta sẽ xem xét việc sử dụng literal pool trong các ứng dụng C và tác động của chúng. Ngoài ra, chúng ta sẽ xem xét các thao tác chuỗi (string operation) phổ biến, chẳng hạn như so sánh (compare), sao chép (copy) và nối (concatenate) chuỗi.

Quản Lý Bộ Nhớ Động trong C (Dynamic Memory Management in C)

Phần lớn sức mạnh của con trỏ bắt nguồn từ khả năng theo dõi bộ nhớ được cấp phát động. Khả năng quản lý bộ nhớ thông qua con trỏ tạo ra cơ sở cho nhiều phép toán (operation), bao gồm những phép toán được sử dụng để thao tác với các cấu trúc dữ …

Quản Lý Bộ Nhớ Động trong C (Dynamic Memory Management in C) Read More »

Học Lập Trình C - Con trỏ -Pointer

C – Con Trỏ (Pointer)

Trong lập trình C, con trỏ (pointer) là một chủ đề quan trọng và thú vị. Vài tác vụ chương trình C được thực hiện dễ dàng hơn bằng con trỏ, như là cấp phát bộ nhớ động (dynamic memory allocation). Cấp phát bộ nhớ động không thể thực hiện được nếu không sử dụng con trỏ. Do đó để trở thành một lập trình viên C giỏi, cần phải tìm hiểu về con trỏ. Hãy bắt đầu bằng những bước đơn giản trước.

Pointer và Function

Con trỏ (pointer) trang bị một khả năng quan trọng cho hàm (function). Nó cho phép dữ liệu (data) được truyền (pass) vào và sửa đổi (modify) bằng hàm. Dữ liệu phức tạp cũng có thể được truyền và trả về từ hàm dưới dạng một con trỏ tới cấu trúc (a pointer to a …

Pointer và Function Read More »

Typedef cho Con Trỏ Hàm

Chúng ta có thể sử dụng typedef để đơn giản hóa việc sử dụng con trỏ hàm (function pointer). Hãy tưởng tượng chúng ta có một số hàm, tất cả đều có cùng một chữ ký (signature), sử dụng đối số (argument) của chúng để in (print) ra một thứ gì đó theo những cách khác nhau:

Writing Reusable Drivers (Phần 1)

Viết một driver có thể được sử dụng từ application này sang application khác có thể rất hữu ích cho các embedded-software developer. Một khi driver được viết xong, các developer có thể tập trung vào application code và không phải lo lắng gì về các bit và byte. Các mẫu thiết kế (design pattern) driver có thể được sử dụng lại không chỉ trên cùng một phần cứng (hardware) mà còn trên nhiều nền tảng (platform) khác, chỉ bằng những thay đổi nhỏ cần thiết để điều chỉnh driver để truy cập các vùng bộ nhớ (memory region) khác nhau.

Trong chương này, chúng ta sẽ xem xét các phương pháp luận (methodology) khác nhau mà developer có thể sử dụng để ánh xạ (map) vào bộ nhớ ngoại vi (peripheral memory) và sau đó chúng ta sẽ chứng minh cách sử dụng từng kỹ thuật.

Icons made by Freepik from www.flaticon.com