- Như chúng ta đã biết define là một macro , trong code nó sẽ tìm đến những chỗ có text định nghĩa và thay thế .
VD : khi khai báo #define nguyen int
trong code(chưa compile) tất cả những chỗ nào có nguyen nó sẽ thay thế hết là int. Điều này dẫn đến một lỗi : Nếu như ta khai báo một biến nguyen trong hàm cục bộ thì nó cũng thay hết nguyen bằng int (ảnh)
VD : khi khai báo #define nguyen int
trong code(chưa compile) tất cả những chỗ nào có nguyen nó sẽ thay thế hết là int. Điều này dẫn đến một lỗi : Nếu như ta khai báo một biến nguyen trong hàm cục bộ thì nó cũng thay hết nguyen bằng int (ảnh)
Còn một lỗi nữa là :
#define intpnt int*
intpnt a, b;
// câu lệnh intpnt a, b được hiểu là :
// int* a; int b;
Và người ta thường dùng typedef để định nghĩa một type mới như một cách rõ ràng hơn
Không có nhận xét nào:
Đăng nhận xét