Câu lạc bộ Tin học dành cho học sinh Tiểu học

HỌC C++ ⚡ TIẾT 12: Con trỏ (Pointers) và Bộ nhớ (Memory)

Trạng thái

♥ Lượt xem: 7
♥ Lượt phản hồi: 0

Tham gia
28/10/2025
Bài viết
368
Điểm Like
1,748
Điểm Uy tín
364,562
Tí Tinh Tế
Miu Mềm Mại
Rồng Rực Rỡ
Tỵ Tinh Tường
Heo Hiền Hậu
Tuổi Mùi
Phù điêu Hổ
Phù điêu Rồng
Hổ Hào Hiệp
Ngựa Ngộ Nghĩnh
Dê Dịu Dàng
Tích cực hoạt động

🎯 Mục tiêu của tiết học​


Bạn sẽ học:


  1. Con trỏ (Pointer) là gì
  2. Cách khai báo và sử dụng con trỏ
  3. Dấu & và * có nghĩa gì
  4. Cấp phát bộ nhớ động (new, delete)
  5. Ứng dụng nhỏ: Quản lý mảng bằng con trỏ



🧩 1. Con trỏ là gì?​


Con trỏ là một biến lưu địa chỉ của một biến khác trong bộ nhớ.

Ví dụ:
#include <iostream>
using namespace std;

int main() {
int x = 10;
int* p = &x; // con trỏ p lưu địa chỉ của x

cout << "Gia tri cua x: " << x << endl;
cout << "Dia chi cua x: " << &x << endl;
cout << "Gia tri cua con tro p: " << p << endl;
cout << "Gia tri tai dia chi p tro den: " << *p << endl;
}


📘 Giải thích:


  • &amp;x = địa chỉ của biến x
  • int* p = con trỏ kiểu int
  • *p = giá trị tại địa chỉ mà p trỏ tới



💡 2. Thay đổi giá trị thông qua con trỏ​


int x = 5;
int* p = &x;


*p = 20; // thay đổi giá trị của x thông qua con trỏ


cout << x; // In ra 20

➡️ Khi thay đổi *p, là bạn đang sửa trực tiếp vùng nhớ của x.




⚙️ 3. Cấp phát bộ nhớ động​


Khi bạn không biết cần bao nhiêu biến, bạn có thể tạo vùng nhớ khi chương trình đang chạy bằng new và xóa nó bằng delete.

int* p = new int; // cấp phát 1 vùng nhớ kiểu int
*p = 50;


cout << *p << endl; // In ra 50


delete p; // Giải phóng bộ nhớ



🧱 4. Con trỏ với mảng​

int n = 3;
int* arr = new int[n]; // tạo mảng động 3 phần tử


for (int i = 0; i < n; i++) {
arr = (i + 1) * 10;
}


for (int i = 0; i < n; i++) {
cout << arr << " ";
}


delete[] arr; // Giải phóng mảng

📘 Kết quả:
10 20 30



🧠 5. Tại sao con trỏ quan trọng?​


  • Giúp quản lý bộ nhớ hiệu quả
  • Dùng để tạo cấu trúc dữ liệu phức tạp như danh sách liên kết, cây, đồ thị
  • Dùng trong lập trình hệ thống, game engine, AI, IoT
  • Là nền tảng để hiểu sâu về C++ hiện đại (smart pointers, memory leaks, references, v.v.)



🎓 Bài tập nâng cao​


Tạo 1 chương trình:


  1. Hỏi người dùng muốn nhập bao nhiêu số
  2. Cấp phát động 1 mảng
  3. Cho người dùng nhập từng phần tử
  4. Tính trung bình của mảng
  5. In ra kết quả và giải phóng bộ nhớ sau khi xong



💬 Gợi ý​


Nếu bạn làm tốt phần này, bạn đã hiểu nền tảng để sau này làm game, AI hoặc mô phỏng vật lý bằng C++ rồi đấy 🚀
 

Trạng thái

♥ Lượt xem: 7
♥ Lượt phản hồi: 0

Trên Bottom