Lập trình

Lập trình

Thứ Hai, 16 tháng 11, 2015

Sự khác nhau giữa typedef và #define

- 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)


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