#define TRONG C++ – ĐỊNH NGHĨA HẰNG SỐ & MACRO
✍️ Biên soạn bởi Học Tin Việt – Giúp các bạn lập trình ngắn gọn, linh hoạt hơn! 🚀🔹 #define là gì?
🧠 #define là một chỉ thị tiền xử lý (preprocessor directive) trong C/C++
👉 Dùng để định nghĩa các hằng số, macro, hoặc thay thế đoạn mã.
✅ Cú pháp cơ bản:
📌 Sau khi định nghĩa, mọi nơi trong chương trình xuất hiện
TÊN_GỌIsẽ được thay bằnggiá_trịtrước khi biên dịch.
🧪 Ví dụ đơn giản:
🖨️ Kết quả:
💡 Dùng #define để viết macro (hàm rút gọn):
⚠️ Lưu ý: Macro không kiểm tra kiểu dữ liệu, và có thể gây lỗi nếu dùng không cẩn thận (ví dụ: thiếu ngoặc).
🎯 So sánh #define và const:
| Đặc điểm | #define | const |
|---|---|---|
| Kiểm tra kiểu | ❌ Không kiểm tra kiểu | ✅ Có kiểm tra kiểu dữ liệu |
| Phạm vi | Toàn bộ chương trình | Trong phạm vi biến / hàm |
| Gỡ lỗi dễ hơn | ❌ Khó trace lỗi | ✅ Dễ debug hơn |
| Có thể dùng hàm | ✅ Dùng macro function | ❌ Không dùng làm hàm |
📌 Một số cách dùng phổ biến:
🧠 Dùng để rút gọn code thi đấu lập trình, hoặc giúp chương trình dễ đọc hơn.
🛑 Cẩn thận khi dùng #define:
- ⚠️ Không có kiểm tra lỗi cú pháp khi thay thế!
- ⚠️ Có thể gây lỗi khó tìm nếu trùng tên hoặc thiếu dấu ngoặc!
- ⚠️ Nên ưu tiên dùng
consttrong chương trình lớn hoặc làm việc nhóm.
✅ Tóm tắt:
| Bạn muốn... | Dùng #define để... |
|---|---|
| Định nghĩa giá trị không đổi | #define SIZE 100 |
| Rút gọn tên hàm hoặc cấu trúc lặp | #define loop(i,n) for(int i=0;i<n;i++) |
| Thay thế ký hiệu đặc biệt | #define endl '\n' |
| Tạo macro tính toán đơn giản | #define MAX(a,b) ((a) > (b) ? (a) : (b)) |
Chủ đề:
cpp

