Các bác thử nói xem trang này viết vậy đúng k ? Em hỏi thầy thầy nói không phải ^^!c
Sự khác nhau giữa khai báo và định nghĩa trong C
Nếu chỉ đọc câu bạn bôi xanh thì có vẻ không đúng lắm, nhưng đọc phần diễn giải trên trang web thì mình thấy đúng.
Mình tóm lại ý hiểu của mình thế này:
Declaration của một biến/hàm cho biết biến/hàm đó tồn tại ở đâu đó trong chương trình nhưng nó không được cấp phát bộ nhớ bởi lệnh khai báo đó.
Definition của một biến/hàm vừa làm nhiệm vụ khai báo vừa làm nhiệm vụ cấp phát bộ nhớ cho biến/hàm đó.
Biến/hàm có thể được khai báo (declaration) nhiều lần nhưng chỉ được định nghĩa (defintion) một lần duy nhất.
ví dụ:
// Đây chỉ là một declaration, lệnh này không cấp phát bộ nhớ cho x.
extern int x;
// Đây vừa là declaration và definition, lệnh này cấp phát bộ nhớ cho biến y.
int y;
2 Likes

83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?