JavaScript is required

Trong chương trình sau, biến a được định nghĩa và khai báo ở đâu? #include void main() { extern int a; printf("\n a = %d", a); } int a = 20;

A.

Extern int a là khai báo, int a = 20 là định nghĩa

B.

Int a = 20 là khai báo, extern int a là định nghĩa

C.

Int a = 20 là định nghĩa, a không được định nghĩa

D.

a được khai báo, a không được định nghĩa

Trả lời:

Đáp án đúng: A


Trong đoạn chương trình C, `extern int a;` là một khai báo (declaration) cho biến `a`. Nó thông báo cho trình biên dịch rằng biến `a` có kiểu `int` và được định nghĩa ở một nơi khác (trong cùng một file hoặc file khác). Khai báo `extern` không cấp phát bộ nhớ cho biến. `int a = 20;` là một định nghĩa (definition) cho biến `a`. Nó vừa khai báo biến `a` có kiểu `int`, vừa cấp phát bộ nhớ cho biến đó và khởi tạo giá trị ban đầu là 20. Vì vậy, đáp án A là chính xác.

Câu hỏi liên quan