#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ỌI
sẽ đượ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
const
trong 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