Con trỏ trong C++ – Phần 8

Đăng ngày: 20/06/2026 • Tác giả: Quản trị viên
Con trỏ trong C++ – Phần 8

Con trỏ trong C++

1. Giới thiệu

Con trỏ (Pointer) là một biến đặc biệt dùng để lưu trữ địa chỉ của một biến khác. Con trỏ giúp quản lý bộ nhớ hiệu quả và tối ưu hóa hiệu suất chương trình.

2. Khai báo và khởi tạo con trỏ

Cú pháp:

kiểu_dữ_liệu* tên_con_trỏ;

Ví dụ:

int a = 10;
int* ptr = &a; // ptr lưu địa chỉ của a

3. Truy xuất giá trị qua con trỏ

Sử dụng toán tử * để truy cập giá trị của biến mà con trỏ trỏ đến:

cout << *ptr; // In ra 10

4. Con trỏ và mảng

Tên mảng thực chất là địa chỉ phần tử đầu tiên:

int numbers[] = {1, 2, 3, 4, 5};
int* p = numbers; // Con trỏ trỏ đến phần tử đầu tiên

Truy cập phần tử mảng bằng con trỏ:

cout << *(p + 1); // In ra 2

Duyệt mảng bằng con trỏ:

for (int i = 0; i < 5; i++) {
    cout << *(p + i) << " ";
}

5. Cấp phát động với new và delete

Dùng new để cấp phát bộ nhớ động:

int* p = new int; // Cấp phát một số nguyên
*p = 100; // Gán giá trị

Giải phóng bộ nhớ bằng delete:

delete p;

Cấp phát mảng động:

int* arr = new int[5];
delete[] arr;

6. Con trỏ NULL và con trỏ Void

  • Con trỏ NULL trỏ đến địa chỉ không hợp lệ:
int* p = NULL;
  • Con trỏ void có thể trỏ đến bất kỳ kiểu dữ liệu nào:
void* ptr;
int a = 10;
ptr = &a;

7. Kết luận

Con trỏ là một khái niệm quan trọng trong C++. Trong bài tiếp theo, chúng ta sẽ tìm hiểu về chuỗi ký tự trong C++.

Bài viết liên quan