01/10/2018, 16:21

Sự khác nhau giữa khai báo và định nghĩa trong C

GeeksforGeeks – 19 Oct 13

Commonly Asked C Programming Interview Questions

Commonly Asked C Programming Interview Questions

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

NBQ viết 18:33 ngày 01/10/2018

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;
Bài liên quan
0