JavaScript is required

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

A.
Extern int a is declaration, int a = 20 is the definition
B.
Int a = 20 is declaration, extern int a is the definition
C.
Int a = 20 is definition, a is not defined
D.
a is declared, a is not defined
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