In the following program where is the variable a getting defined and where it is getting declared?

Trả lời:
Đáp án đúng: A
Trong C/C++, **khai báo** (declaration) cho trình biên dịch biết về sự tồn tại của một biến, hàm hoặc kiểu dữ liệu. Nó chỉ ra tên và kiểu của đối tượng, nhưng không cấp phát bộ nhớ cho nó.
**Định nghĩa** (definition) thực sự cấp phát bộ nhớ cho biến và có thể khởi tạo giá trị ban đầu cho nó.
Trong đoạn mã đã cho:
`int a = 20;` vừa là khai báo, vừa là định nghĩa. Nó khai báo rằng `a` là một biến kiểu `int`, đồng thời cấp phát bộ nhớ và khởi tạo giá trị 20 cho `a`.
`extern int a;` là một khai báo, cho trình biên dịch biết rằng biến `a` kiểu `int` được định nghĩa ở một nơi khác (có thể là trong một file khác). Nó không cấp phát bộ nhớ cho `a`.
Như vậy, đáp án đúng là: "A. Extern int a is declaration, int a = 20 is the definition".
Câu hỏi liên quan

FORM.08: Bộ 130+ Biểu Mẫu Thống Kê Trong Doanh Nghiệp

FORM.07: Bộ 125+ Biểu Mẫu Báo Cáo Trong Doanh Nghiệp

FORM.06: Bộ 320+ Biểu Mẫu Hành Chính Thông Dụng

FORM.05: Bộ 330+ Biểu Mẫu Thuế - Kê Khai Thuế Mới Nhất

FORM.04: Bộ 240+ Biểu Mẫu Chứng Từ Kế Toán Thông Dụng
