PDA

View Full Version : [Q] khac biet qiua const & define ?



ThachSanh
14-02-2003, 14:06
k0 biết 2 lệnh sau có khác nhau ko?Mong bà con chỉ zùm:
1/ const int i=5;
2/ #define i 5;

tinystar
14-02-2003, 14:35
1/ trong chương trình kể từ chỗ khai báo bạn không thể thay đổi giá trị của biến i. biến i thực sự được cấp 1 ô nhớ và không thể thay đổi giá trị.
2/ Khi biên dịch thì trong mã nguồn chương trình, chỗn nào có biến tên là i sẽ được thay bằng số 5. Ví dụ : Mã nguồn : x*i ==> Khi biên dịch ra được dịch như sau : x*5

VoiCoi.NET
17-02-2003, 00:06
1. strong typed
2. untyped

KEM_WALL
21-02-2003, 21:19
theo walls biết ( có sai thì chỉnh dùm ) là khi sử dụng #define thì trình biên dịch sẽ search toàn file của bạn, chỗ nào có i thì thay nó thành 5
vd : x*y*z*i thành x*y*z*5 sau đó mới bắt đầu biên dịch
const sẽ chiếm 1 ô nhớ, truy xuất vào sẽ làm chậm chương trình ( dù rất nhỏ, kô đánh kể ). #define kô chiếm ô nhớ, vì nó thay sẵn giá trị vào trong code chương trình

djal
01-04-2003, 01:48
#define chính là một macro.