16. Con trỏ trong ngôn ngữ lập trình C++

Con trỏ là một khái niệm quan trọng trong ngôn ngữ lập trình C++. Nó cho phép bạn tham chiếu và làm việc trực tiếp với vùng nhớ của biến hoặc mảng khác. Con trỏ giúp bạn thực hiện các tác vụ như truy cập, thay đổi và quản lý vùng nhớ.

Dưới đây là cách sử dụng con trỏ trong C++:

  1. Khai báo con trỏ:
cpp
// Khai báo con trỏ kiểu int
int* ptr;
  1. Gán địa chỉ cho con trỏ:
cpp
int number = 10;
ptr = &number;  // Gán địa chỉ của number cho con trỏ ptr
  1. Truy cập giá trị thông qua con trỏ:
cpp
int value = *ptr;  // Truy cập giá trị mà con trỏ ptr đang trỏ tới
  1. Thay đổi giá trị thông qua con trỏ:
cpp
*ptr = 20;  // Thay đổi giá trị mà con trỏ ptr đang trỏ tới thành 20
  1. Con trỏ và mảng:
cpp
int numbers[5] = {1, 2, 3, 4, 5};
int* arrPtr = numbers;  // Gán địa chỉ mảng numbers cho con trỏ arrPtr

for (int i = 0; i < 5; i++) {
    std::cout << *(arrPtr + i) << " ";  // Truy cập phần tử mảng thông qua con trỏ
}
  1. Sử dụng new và delete (cho cấp phát động):
cpp
int* dynamicPtr = new int;  // Cấp phát động một biến kiểu int
*dynamicPtr = 30;  // Gán giá trị 30 cho biến thông qua con trỏ

delete dynamicPtr;  // Giải phóng vùng nhớ

Lưu ý rằng việc sử dụng con trỏ cần cẩn thận để tránh xảy ra lỗi trỏ hỏng hoặc xung đột vùng nhớ. Hãy chắc chắn bạn đã hiểu rõ về cách con trỏ hoạt động và kiểm tra kỹ trước khi giải phóng bộ nhớ cấp phát động. Sử dụng std::shared_ptrstd::unique_ptr là cách tốt hơn để quản lý cấp phát động một cách an toàn hơn trong C++.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top